如何重置 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 中执行其他常见操作:

如何在 Pandas 中将索引转换为列
如何在 Pandas 中将列设置为索引
如何重命名 Pandas 中的索引

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注