PandasにおけるDataFrameの列の順序を逆にする

今回は、PandasにおけるDataFrameの列の順序を逆にしてみます。

■Python

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

■DataFrameを作成する

DataFrameの列の順序を逆にする前に、DataFrameを作成します。

■コード

import pandas as pd

data = {
    '名前':['小林','田中','森田','石田','鈴木'],
    '出身':['大阪','東京','神奈川','奈良','香川'],
    '血液型':['A','AB','O','A','B']
}

df = pd.DataFrame(data, columns=['名前','出身','血液型'])

print(df)

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

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

■実行

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

■DataFrameの列の順序を逆にする

DataFrameの用意ができましたので、DataFrameの列の順序を逆にするスクリプトを書いていきます。

■コード

import pandas as pd

data = {
    '名前':['小林','田中','森田','石田','鈴木'],
    '出身':['大阪','東京','神奈川','奈良','香川'],
    '血液型':['A','AB','O','A','B']
}

df = pd.DataFrame(data, columns=['名前','出身','血液型'])

print(df)

print(df[df.columns[::-1]])

DataFrameの列の順序を逆にする場合は、print関数で出力する際に作成したDataFrameのcolumnsに対して、df.columns[::-1]を使用することで、最後の列からアクセスし、インデックスを反転させて、再び作成し、列の順序を逆にすることができます。

■実行

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

実行してみると、今回作成したDataFrameの列の順序を逆にして出力させることができました。

■Pandasのilocを使用し、列の順序を逆にする

次にPandasのilocを使用し、列の順序を逆にすることもできますので、やってみます。

■コード

import pandas as pd

data = {
    '名前':['小林','田中','森田','石田','鈴木'],
    '出身':['大阪','東京','神奈川','奈良','香川'],
    '血液型':['A','AB','O','A','B']
}

df = pd.DataFrame(data, columns=['名前','出身','血液型'])

print(df)

print(df.iloc[:, ::-1])

print関数で作成したDataFrameを出力する際に、ilocを使用し、[:, ::-1]と、先ほど同じように、コロン2つと「-1」と記述することで、最後の列を先頭し反転させることで、列の順序を逆にすることができます。

■実行

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

実行してみると、ilocを使用し、DataFrameの列の順序を逆にすることができました。

コメント

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