PandasにおけるDataFrameでインデックスを列に変換してみます。
なお、Pandasモジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要はありません。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■DataFrameを作成する
DataFrameでインデックスを列に変換する前に、DataFrameを作成します。
■コード
import pandas as pd data = { 'Name':['A','B','C','D','E'], 'Number':[100,200,300,400,500] } df = pd.DataFrame(data, columns =['Name','Number'],index=['Item1','Item2','Item3','Item4','Item5']) print(df)
インポートでPandasモジュールを呼び出します。dataという変数を作成し、その中に2つの列を格納します。
格納後、dfという変数を作成し、pd.DataFrame()と記述。pd.DataFrameの括弧内の引数にカラム名とインデックス名を渡し、DataFrameを作成。作成後、dfという変数に格納します。
■実行
このスクリプトを実行すると、作成したDataFrameが出力されます。
■インデックスを列に変換する
DataFrameが用意できましたので、インデックスを列に変換するスクリプトを書いていきます。
■コード
import pandas as pd data = { 'Name':['A','B','C','D','E'], 'Number':[100,200,300,400,500] } df = pd.DataFrame(data, columns =['Name','Number'],index=['Item1','Item2','Item3','Item4','Item5']) df.reset_index(inplace= True) df = df.rename(columns={'index': 'Items'}) print(df)
インデックスを列に変換するためには、「df.reset_index(inplace=True)」と記述します。こうすることで、インデックスが「列」に変更されます。変更された「列」に、df.rename()でカラム名を「インデックス(index)」から「Items」へと変更します。
最後にインデックスを列に変換したDataFrameを出力します。
■実行
このスクリプトを「sample_df_2.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、今回用意したDataFrameのインデックスが列に変換されて出力することができました。
コメント