Pandas dataframe でインデックスをリセットする方法 (例あり)
次の構文を使用して、pandas DataFrame のインデックスをリセットできます。
df. reset_index (drop= True , place= True )
次の引数に注意してください。
- drop : Trueを指定すると、パンダは元のインデックスを DataFrame の列として保存できなくなります。
- inplace : Trueを指定すると、パンダは DataFrame のコピーを作成する代わりに、元の DataFrame のインデックスを置き換えることができます。
次の例は、この構文を実際に使用する方法を示しています。
例 1: インデックスをリセットし、古いインデックスを削除する
次のパンダ データフレームがあるとします。
import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}, index=[0, 4, 3, 5, 2, 1, 7, 6]) #view DataFrame print (df) points assists rebounds 0 25 5 11 4 12 7 8 3 15 7 10 5 14 9 6 2 19 12 6 1 23 9 5 7 25 9 9 6 29 4 12
次のコードは、DataFrame のインデックスをリセットし、古いインデックスを完全に削除する方法を示しています。
#reset indexes
df. reset_index (drop= True , place= True )
#view updated DataFrame
print (df)
points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12
インデックスがリセットされ、インデックス値の範囲が 0 ~ 7 になっていることに注意してください。
例 2: インデックスをリセットし、古いインデックスを列として保持する
次のパンダ データフレームがあるとします。
import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}, index=['A', 'C', 'D', 'B', 'E', 'G', 'F', 'H']) #view DataFrame print (df) points assists rebounds A 25 5 11 C 12 7 8 D 15 7 10 B 14 9 6 E 19 12 6 G 23 9 5 F 25 9 9 H 29 4 12
次のコードは、DataFrame のインデックスをリセットし、古いインデックスを DataFrame 内の列として保持する方法を示しています。
#reset index and retain old index as a column
df. reset_index (inplace= True )
#view updated DataFrame
print (df)
index points assists rebounds
0 to 25 5 11
1 C 12 7 8
2 D 15 7 10
3 B 14 9 6
4 E 19 12 6
5G 23 9 5
6 F 25 9 9
7:29 4 12
インデックスがリセットされ、インデックス値の範囲が 0 ~ 7 になっていることに注意してください。
また、古いインデックス (文字を含む) は、「index」と呼ばれる DataFrame 内の新しい列として保存されることに注意してください。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandasでインデックスを列に変換する方法
Pandasで列をインデックスとして設定する方法
Pandasでインデックスの名前を変更する方法