PandasにおけるDataFrameの行と列を入れ替える(転置)

PythonでPandasにおけるDataFrameの行と列を入れ替え(転置)を行ってみます。

なお、Pandasモジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要はありません。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■DataFrameを作成する

DataFrameの行と列を入れ替え(転置)を行ってみる前に、DataFrameを作成します。

■コード

import pandas as pd

data ={
    'A':[111,223,333],
    'B':[444,555,666],
    'C':[777,888,999]
}

df = pd.DataFrame(data, columns =['A','B','C'])

print (df)

インポートでPandasモジュールを呼び出します。dataという変数を作成し、その中に3つの列を格納します。

格納後、dfという変数を作成し、pd.DataFrame()と記述し、DataFrameを作成。作成後、dfという変数に格納します。

■実行

このスクリプトを実行すると、作成したDataFrameが出力されます。

■DataFrameの行と列を入れ替える(転置)

DataFrameの用意ができましたので、DataFrameの行と列を入れ替える(転置)スクリプトを書いていきます。

■コード

import pandas as pd

data ={
    'A':[111,223,333],
    'B':[444,555,666],
    'C':[777,888,999]
}

df = pd.DataFrame(data, columns =['A','B','C'])

df = df.transpose()

print (df)

DataFrameの行と列を入れ替える(転置)を行う場合は、dfという変数を作成し、pd.DataFrame()と記述し、DataFrameを作成。作成後、dfという変数に格納します。

その後、dfという変数に格納したDataFrameを行と列を入れ替えるために、df.transpose()と記述します。このコードを記述することで、行と列を入れ替えすることができます。

■実行

このスクリプトを「sample_data02.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、DataFrameの行と列を入れ替える(転置)を行うことができました。

なお、列名が0から始まり2で終わる数値となっており、これはインデックスを割り当てる際のデフォルトが数値となっているためです。

■こちらで設定したインデックスを割り当ててDataFrameの行と列を入れ替える(転置)

次にインデックスを割り当てる際のデフォルトが「数値」となっていましたが、こちらで設定したものを割り当ててDataFrameの行と列を入れ替える(転置)を行ってみます。

■コード

import pandas as pd

data ={
    'A':[111,223,333],
    'B':[444,555,666],
    'C':[777,888,999]
}

df = pd.DataFrame(data, columns =['A','B','C'], index =['X','Y','Z'])

df = df.transpose()

print (df)

pd.DataFrame()でDataFrameを作成する際に引数で「index」を追加します。今回は「X,Y,Z」を割り当ててみます。

■実行

このスクリプトを「sample_data03.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、DataFrameがこちらで設定したインデックスに割り当てられており、さらに行と列を入れ替える(転置)を行うことができました。

コメント

タイトルとURLをコピーしました