如何重置 pandas dataframe 中的索引(带有示例)
您可以使用以下语法来重置 pandas DataFrame 中的索引:
df. reset_index (drop= True , place= True )
请注意以下参数:
- drop :指定True可防止 pandas 将原始索引保存为 DataFrame 中的列。
- inplace :指定True允许 pandas 替换原始 DataFrame 中的索引,而不是创建 DataFrame 的副本。
以下示例展示了如何在实践中使用此语法。
示例1:重置索引并删除旧索引
假设我们有以下 pandas DataFrame:
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:重置索引并保留旧索引作为列
假设我们有以下 pandas DataFrame:
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。
另请注意,旧索引(带有字母)被保留为 DataFrame 中名为“index”的新列。
其他资源
以下教程解释了如何在 pandas 中执行其他常见操作: