【毎日Python】Pythonでデータフレームに新しいインデックスを附番する方法|DataFrame.reset_index

Pythonで、データフレームに新しいインデックスを附番する方法です。
使用するのは、Pythonのpandasライブラリのreset_indexメソッドです。
このようなデータフレームを使用します。

import pandas as pd

df = pd.DataFrame([[180,'80','20'],[170,'70','19'],
                   [160,'60','18'], [150, '50','16']],
                columns=['height', 'weight', 'BMI'],
                index=['Sato', 'Tanaka', 'Ito','Yamada'])
df

実行結果:
df_reset

まず、reset_indexの引数に何も指定せずに実行します。
新しくインデックスを附番することができました。

df.reset_index()

実行結果:
df01

次に、元のインデックスを削除して、新しいインデックスを附番するには、引数dropにTrueを指定します。
実行します。
元のインデックスを削除することができました。

df.reset_index(drop=True)

実行結果:
df02

なお、reset_indexメソッドに似たメソッドで、set_indexメソッドがあります。
このようなデータフレームを使用します。

df = pd.DataFrame([['John','29','NY'],['Mike','32','NJ'],
                   ['Chloe','35','MA'], ['Emma', '28','WA']],
                columns=['name', 'age', 'state'])
df

実行結果:
df_set

set_indexメソッドでは、指定したカラムをインデックスとしてデータフレームを整形することができます。

df.set_index(['name'])

実行結果:
df03

関連メソッド

【毎日Python】Pythonでデータフレームの列をインデックスに指定する方法|DataFrame.set_index