pandas中关于set_index和reset_index的用法

1.set_index

DataFrame可以通过set_index方法,可以设置单索引和复合索引。 
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False) 
append添加新索引,drop为False,inplace为True时,索引将会还原为列

[python]  view plain  copy
 print ?
  1. In [307]: data  
  2. Out[307]:   
  3.      a    b  c    d  
  4. 0  bar  one  z  1.0  
  5. 1  bar  two  y  2.0  
  6. 2  foo  one  x  3.0  
  7. 3  foo  two  w  4.0  
  8.   
  9. In [308]: indexed1 = data.set_index('c')  
  10.   
  11. In [309]: indexed1  
  12. Out[309]:   
  13.      a    b    d  
  14. c                 
  15. z  bar  one  1.0  
  16. y  bar  two  2.0  
  17. x  foo  one  3.0  
  18. w  foo  two  4.0  
  19.   
  20. In [310]: indexed2 = data.set_index(['a''b'])  
  21.   
  22. In [311]: indexed2  
  23. Out[311]:   
  24.          c    d  
  25. a   b            
  26. bar one  z  1.0  
  27.     two  y  2.0  
  28. foo one  x  3.0  
  29.     two  w  4.0  

2.reset_index

reset_index可以还原索引,从新变为默认的整型索引 
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=”) 
level控制了具体要还原的那个等级的索引 
drop为False则索引列会被还原为普通列,否则会丢失

[python]  view plain  copy
 print ?
  1. In [318]: data  
  2. Out[318]:   
  3.          c    d  
  4. a   b            
  5. bar one  z  1.0  
  6.     two  y  2.0  
  7. foo one  x  3.0  
  8.     two  w  4.0  
  9.   
  10. In [319]: data.reset_index()  
  11. Out[319]:   
  12.      a    b  c    d  
  13. 0  bar  one  z  1.0  
  14. 1  bar  two  y  2.0  
  15. 2  foo  one  x  3.0  
  16. 3  foo  two  w  4.0
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值