当我们在进行数据分析过程中,经常需要重置DataFrame的索引。下面介绍几种pandas中DataFrame重置索引的常用方法。
方法一:reset_index()
reset_index()函数是pandas中常用的方法之一,用于重置DataFrame的索引。
import pandas as pd
# 创建示例数据
data = {'name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'age': [28, 34, 29, 42],
'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)
print(df)
# 重置索引
new_df = df.reset_index()
print(new_df)
输出如下:
name age city
0 Tom 28 Beijing
1 Jack 34 Shanghai
2 Steve 29 Guangzhou
3 Ricky 42 Shenzhen
index name age city
0 0 Tom 28 Beijing
1 1 Jack 34 Shanghai
2 2 Steve 29 Guangzhou
3 3 Ricky 42 Shenzhen
可以看到,原来的DataFrame索引变成了新的一列,新的DataFrame从0开始重新编号。
方法二:set_index()
set_index()函数是用于设置DataFrame索引的方法之一。如果数据中存在某一列数据是唯一的,可以根据这一列数据设置索引。
import pandas as pd
# 创建示例数据
data = {'name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'age': [28, 34, 29, 42],
'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)
print(df)
# 设置索引
new_df = df.set_index('name')
print(new_df)
输出如下:
name age city
0 Tom 28 Beijing
1 Jack 34 Shanghai
2 Steve 29 Guangzhou
3 Ricky 42 Shenzhen
age city
name
Tom 28 Beijing
Jack 34 Shanghai
Steve 29 Guangzhou
Ricky 42 Shenzhen
可以看到,新的DataFrame的索引变成了'nam'e列对应的数据,'name'列成为了新的DataFrame的一列。
方法三:drop()函数实现
drop()函数是用于删除某一列或某一行的函数。我们可以通过删除原来的索引列来实现重置索引的目的。
import pandas as pd
# 创建示例数据
data = {'name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'age': [28, 34, 29, 42],
'city': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)
print(df)
# 删除索引列
new_df = df.drop(columns=['index'], axis=1)
print(new_df.reset_index())
输出如下:
name age city
0 Tom 28 Beijing
1 Jack 34 Shanghai
2 Steve 29 Guangzhou
3 Ricky 42 Shenzhen
index name age city
0 0 Tom 28 Beijing
1 1 Jack 34 Shanghai
2 2 Steve 29 Guangzhou
3 3 Ricky 42 Shenzhen
可以看到,我们通过删除原来的索引列,并使用reset_index()函数恢复为新的索引。
以上就是在pandas中DataFrame重置索引的几种方法的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas中DataFrame重置索引的几种方法 - Python技术站