reset_index()使用方法
时间: 2024-05-11 20:15:57 浏览: 210
reset_index() 是 pandas 库中的一个函数,它可用于将数据框中的行索引重置为默认值(0 到 n-1)或使用另一个列来作为新的行索引。reset_index() 函数的语法如下:
```
DataFrame.reset_index(level=None, drop=False, inplace=False)
```
其中,level 参数可用于指定要重置的索引级别(如果数据框有多层索引的话),默认情况下它的值为 None,表示所有索引都要被重置。drop 参数可用于指定是否删除旧的索引列,默认为 False,即保留旧的索引列。inplace 参数可用于指定是否在原数据框中修改索引,而不是返回一个新的数据框对象。
例如,假设有如下数据框:
```
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'Dave', 'Eva'],
'age': [25, 30, 35, 40, 45],
'gender': ['F', 'M', 'M', 'M', 'F']}
df = pd.DataFrame(data)
df.index = ['a', 'b', 'c', 'd', 'e']
print(df)
```
输出结果为:
```
name age gender
a Alice 25 F
b Bob 30 M
c Charlie 35 M
d Dave 40 M
e Eva 45 F
```
现在我们想要将行索引重置为默认值,可以使用如下代码:
```
df_reset = df.reset_index()
print(df_reset)
```
输出结果为:
```
index name age gender
0 a Alice 25 F
1 b Bob 30 M
2 c Charlie 35 M
3 d Dave 40 M
4 e Eva 45 F
```
注意,重置索引后,原先的行索引变成了一个名为 index 的新列。如果我们希望删除这个新列,可以将 drop 参数设置为 True,如下所示:
```
df_reset = df.reset_index(drop=True)
print(df_reset)
```
输出结果为:
```
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
3 Dave 40 M
4 Eva 45 F
```
如果原有的行索引不是默认值,也可以指定其他列来作为新的行索引。假设我们想要使用 name 列作为新的行索引,可以使用如下代码:
```
df_reset = df.set_index('name')
print(df_reset)
```
输出结果为:
```
age gender
name
Alice 25 F
Bob 30 M
Charlie 35 M
Dave 40 M
Eva 45 F
```
注意,这里将 inplace 参数设置为 True,表示直接在原数据框中修改索引。如果不希望修改原数据框,可以将 inplace 参数设置为 False,然后将返回值赋值给一个新变量。
阅读全文