【Python】PandasのDataFrameでindex、columnの番号をリセットする方法

【Python】PandasのDataFrameでindex、columnの番号をリセットする方法

この記事ではDataFrameにおいてindexcolumnの番号リセットをする方法を紹介します。

indexやcolumnの一部変更、全て変更、列内容をindexにする方法は以下の記事で紹介しています。

【Python】DataFrameで行名、列名を変更する方法を紹介(一部変更、全変更、列内容を行名にする方法)

 

この記事の目標
・index番号リセット
・column番号リセット

 

DataFrameとSeries型の違いがわからない人はまず以下の記事で理解しましょう!!
DataFrameとSeriesの違いを紹介
その他Pythonの記事は以下にまとめています!!

Python記事まとめ

 

[スポンサーリンク]


index番号をリセットする

この項目ではindex番号をリセットする方法を紹介します。

以下のような行番号がでたらめなDataFrameがあったとしましょう。
DataFrameindexを指定しないとデフォルトで0,1,2…とindexが振られますよね。
今回は無理やりでたらめにしてますが、一部の行を削除したり補完したりするとindex番号が欠けたりバラバラになったりします。

このようにindexがバラバラになって、デフォルトの0,1,2…のindexにしたい!という時に使うのがreset_indexメソッドです。

オプション 初期値 説明
drop False 元々存在しているindexを列に追加するか否かの設定
inplace False indexをリセットするDataFrameを上書きするか否かの設定
level None MultiIndexの時に指定したindexを列に戻す
col_level 0 columnがMultiIndexの時、どの階層に挿入するか指定
col_fill ” “ columnが多階層の時、カラムが挿入される階層以外の列データのカラムラベルの指定

色々オプションがありますが、よく使うのでdropは最低限押さえておきましょう!
ちなみにオプションの中にあるlevelcol_levelcol_fillMultiIndex操作のためのオプションで、今回の趣旨とは違うため紹介しません。

引数無し

まずはシンプルに引数なしでreset_indexを行ってみましょう。

特に何も設定しないと元々存在しているindexが列にそのまま追加されます。
indexは0,1,2となっており、きちんとリセットされていることが確認できます。

dropオプションを使用

次にdropオプションを使用してみましょう。
これはよく使うので要チェック!!!
dropindexリセットするときに元々のindexを列に追加するか否かを設定できる引数です。
(Falseで残す、Trueで消す、デフォルトはFalse)

ではTrueにして元のindexを列に追加しないようにしましょう!

dropTrueにすることで元々のindexが列に追加されていないことが確認できます。
おそらく使用する上で元のindexを追加したくない時が多いと思いますので、dropオプションは最低限押さえておきましょう。

inplaceオプションを使用

inplaceオプションは元のDataFrameを上書きするかどうかを設定できるオプションです。
(Trueで上書き、Falseで上書きしない、デフォルトはFalse)
元のindexを残したくないのでdropTrueにしています。

戻り値を代入せずともindex番号がリセットされました。
挙動としては以下と同じです。

set_indexメソッドの時にも話しましたが、上書き設定の時は戻り値がありません(Noneになる)。

column番号をリセットする

この項目では列番号をリセットする方法を紹介します。

番号は何も指定しないとindexと同じく0,1,2…と番号が振られます。
こちらも色々columnをいじると番号がバラバラになります。
その番号を0,1,2…と振り直す方法を紹介します!
そのためにまずはバラバラの番号を持つDataFrameを作成

バラバラの番号をリセットするメソッドは残念ながらありません。

ということでshapeメソッドrangeを使用して振り直したいと思います。
shapeメソッドDataFrameの行と列の数を返してくるものです。
それで得た列の数だけrangeで振り直してそれをcolumnsに代入するだけです。

番号が0,1,2と振り直されていることが確認できました。

[スポンサーリンク]


Pandasカテゴリの最新記事