Pythonのpandas DataFrameでこんな悩みはありませんか?
「Pandas DataFrameでデータを削除したらindex番号が連番じゃなくなった、、しかしリセットの仕方がわからない。」
「Pandas DataFrameでデータを結合したらindex番号が連番ではなくなった、、しかしリセット方法がわからない。」
そのお悩み解決します。
Pandasのreset_index()メソッドを活用することでindex番号をリセットできます。
下記のようなPandas dataframe(以下df)を用いて解説します。
今回のdfはindex番号が0からの連番になっていません。
早速解説します。
pandasのreset_index( )メソッドの使い方
Pandasのreset_index( )メソッドは下記のように記載して使用する。
df.reset_index( )
reset_index( )メソッドを使うときは、reset_index(drop = True)だけ覚えればいい。
引数drop = Trueとすることで、元々のインデックスは削除され、リセット後のインデックスのみ残る。
df.reset_index(drop = True)
pandasのreset_index( )メソッドを使う上での注意点
下記のようにdf.reset_index(drop = True)を実行してdfを出力しても、インデックス番号がリセットされていない。(下図)
「インデックス番号のリセット後のdf」をdfに反映させるためには、「インデックス番号リセット後のdf」をdfとする必要がある。
以下のようにdf = df.reset_index(drop = True)とdfを更新することで、dfを更新することができます。(下図)
python始めたばかりの頃は「df = 」とするのをよく忘れるのでお忘れなく❗️
pandasのreset_index()メソッドはどんな時に使うのか
pandasのreset_index( )を使うのは、dfに対して下記のような処理をしたときに使用することが多い。
・データを削除した時
データを結合したり、データを削除するとindex番号が連番にならないので、そのような処理をしたときは、都度index番号をリセットするのがオススメです。
python初学者のうちはindex番号が原因となるエラーは多いですし、pythonコードが長くなってくると、どこがエラー原因となっているのか見分けるのが難しくなってきますので。
今回の記事はここまでです。
最後まで読んでいただきありがとうございました。
本記事が皆さんのお役に少しでも立てることを願っています。