今回は、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の列の順序を逆にすることができました。
コメント