pandasデータフレームのインデックスを再設定する場合、真っ先に思いつくのがreset_indexメソッドだ。

データフレームを編集し不要な行などを削除していく中で、インデックスが飛びとびになってしまうことはよくあるはずだ。

このようなデータフレームのインデックスを再設定する場合、以下のようにreset_indexメソッドを使う。

df.reset_index(drop=True, inplace=True)

オプションの「drop=True」はインデックスの上書き(再設定)、「inplace=True」は元のオブジェクトに更新を適用するという意味だ。

ただしreset_indexを使うとインデックスの初期値は「0」になる。

今回は初期値を「1」として、1から始まるインデックスを振り直す方法を紹介する。

NumPyを使ってインデックスを振り直す

シンプルな考え方だが、NumPyのarangeメソッドを使う。

import numpy as np

df.index = np.arange(1, len(df)+1)

これで1から始まるインデックスを振り直すことができる。