在pandas数据处理过程中,我们常需要将指定的列转化为索引,或者将索引转为列,如何实现呢?那就要用到set_index和reset_index这两个函数啦~
# 首先导入常用的两个包
import pandas as pd
import numpy as np
# 建立数据集
df = pd.DataFrame({'k1':['one','two','three'],'k2':[1.1,2.5,3]})
df['v1']=range(3)
df
k1 k2 v1
0 a 10 0
1 b 2 1
2 c 3 2
1.将k1列设为索引
df.set_index('k1')
k2 v1
k1
a 10 0
b 2 1
c 3 2
# 如果想保留k1列,可通过参数drop=False来实现
df.set_index('k1',drop=False)
k1 k2 v1
k1
a a 10 0
b b 2 1
c c 3 2
2.reset_index可以将索引转为列
df1=df.set_index('k1')
df1
# 结果:
k2 v1
k1
a 10 0
b 2 1
c 3 2
df1.reset_index()
# 结果:
k1 k2 v1
0 a 10 0
1 b 2 1
2 c 3 2
网友评论