python reset_index()和set_index()的使用

df = pd.DataFrame({
 'col1' : ['A', 'A', 'B', np.nan, 'D', 'C'],
    'col2' : [2, 1, 9, np.nan, 7, np.nan],
   'col3': [0, 1, 9, 4, 2, 3]})
print(df)
  col1  col2  col3
0    A   2.0     0
1    A   1.0     1
2    B   9.0     9
3  NaN   NaN     4
4    D   7.0     2
5    C   NaN     3

 

df = pd.DataFrame({
 'col1' : ['A', 'A', 'B', np.nan, 'D', 'C'],
    'col2' : [2, 1, 9, np.nan, 7, np.nan],
   'col3': [0, 1, 9, 4, 2, 3]}).set_index('col1')
print(df)

 

      col2  col3
col1            
A      2.0     0
A      1.0     1
B      9.0     9
NaN    NaN     4
D      7.0     2
C      NaN     3

结果是col1列作了索引

 

df.reset_index()#默认drop=False  获得新的index,原来的index变成数据列保留下来
	col1	col2	col3
0	A	2.0	0
1	A	1.0	1
2	B	9.0	9
3	NaN	NaN	4
4	D	7.0	2
5	C	NaN	3

说明,重置了索引,并且col1 回到了原来的位置

df.reset_index(drop=True)#如果你不想保留原来的index,drop=True

 


col2	col3
0	2.0	0
1	1.0	1
2	9.0	9
3	NaN	4
4	7.0	2
5	NaN	3

说明是重置索引了,但把col1 丢掉了,如果工作中需要索引列 连接其他表就错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值