PandasにおけるDataFrameでインデックスを列に変換する

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のインデックスが列に変換されて出力することができました。

コメント

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