📅  最后修改于: 2023-12-03 15:04:21.643000             🧑  作者: Mango
reset_index()
函数是pandas
库中的一种数据操作方法,用于重置索引,同时将原索引转化为列,以便后续的数据分析和处理。
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill= ”)
参数说明
level
:整数或者整数列表,表示要重置的索引级别。drop
:bool值,指示是否丢弃原索引。inplace
:bool值,指示是否直接修改原DataFrame。col_level
:整数或者字符串,表示重置后的列名级别。col_fill
:字符串,表示重置后的列名。import pandas as pd
data = {'name':['Alex','Bob','Carl'],'age':[18,19,20]}
df = pd.DataFrame(data)
print("原始数据:")
print(df)
# 重置索引
df_reset = df.reset_index()
print("\n重置索引后的数据:")
print(df_reset)
运行结果:
原始数据:
name age
0 Alex 18
1 Bob 19
2 Carl 20
重置索引后的数据:
index name age
0 0 Alex 18
1 1 Bob 19
2 2 Carl 20
从以上示例中可以看出,reset_index()
函数将原始DataFrame的索引重置,同时将原索引作为一列加入到重置后的DataFrame中。
对于多重索引的DataFrame,reset_index()
函数也可轻松完成索引的重置。
import pandas as pd
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
index = pd.MultiIndex.from_arrays(arrays, names=('first', 'second'))
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6, 7, 8],
'B': [10, 20, 30, 40, 50, 60, 70, 80]}, index=index)
print("原始数据:")
print(df)
# 重置索引
df_reset = df.reset_index()
print("\n重置索引后的数据:")
print(df_reset)
运行结果:
原始数据:
A B
first second
bar one 1 10
two 2 20
baz one 3 30
two 4 40
foo one 5 50
two 6 60
qux one 7 70
two 8 80
重置索引后的数据:
first second A B
0 bar one 1 10
1 bar two 2 20
2 baz one 3 30
3 baz two 4 40
4 foo one 5 50
5 foo two 6 60
6 qux one 7 70
7 qux two 8 80
若设置drop
参数为True,即可实现丢弃原索引。
import pandas as pd
data = {'name':['Alex','Bob','Carl'],'age':[18,19,20]}
df = pd.DataFrame(data, index=['a','b','c'])
print("原始数据:")
print(df)
# 重置索引且丢弃原索引
df_drop = df.reset_index(drop=True)
print("\n重置索引且丢弃原索引后的数据:")
print(df_drop)
运行结果:
原始数据:
name age
a Alex 18
b Bob 19
c Carl 20
重置索引且丢弃原索引后的数据:
name age
0 Alex 18
1 Bob 19
2 Carl 20
reset_index()
函数在pandas
库中是非常常用的数据操作方法之一,因为在实际数据分析和处理中,经常需要重置索引以便下一步的分析和操作。掌握本文介绍的方法及相关参数的含义,将会让您在实际工作中更加得心应手。