设置索引

DataFrame可以通过set_index方法,可以设置单索引和复合索引。

DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)

keys:列标签或列标签/数组列表,需要设置为索引的普通列
drop:是否删除原普通列,默认为True,删除用作新索引的原普通列;
append:是否变成复合索引,默认为False,即覆盖原索引,单索引;
inplace:默认为False,适当修改DataFrame(不要创建新对象);
verify_integrity:默认为false,检查新索引的副本。否则,请将检查推迟到必要时进行。将其设置为false将提高该方法的性能。

In [307]: data
Out[307]:
     a    b  c    d
0  bar  one  z  1.0
1  bar  two  y  2.0
2  foo  one  x  3.0
3  foo  two  w  4.0
 
In [308]: indexed1 = data.set_index('c')
 
In [309]: indexed1
Out[309]:
     a    b    d
c              
z  bar  one  1.0
y  bar  two  2.0
x  foo  one  3.0
w  foo  two  4.0
 
In [310]: indexed2 = data.set_index(['a', 'b'])
 
In [311]: indexed2
Out[311]:
         c    d
a   b         
bar one  z  1.0
    two  y  2.0
foo one  x  3.0
    two  w  4.0

reset_index

reset_index可以还原索引,从新变为默认的整型索引

DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=”)

level控制了具体要还原的那个等级的索引
drop为False则索引列会被还原为普通列,否则会丢失

In [318]: data
Out[318]:
         c    d
a   b         
bar one  z  1.0
    two  y  2.0
foo one  x  3.0
    two  w  4.0
 
In [319]: data.reset_index()
Out[319]:
     a    b  c    d
0  bar  one  z  1.0
1  bar  two  y  2.0
2  foo  one  x  3.0
3  foo  two  w  4.0

参考:
https://www.cnblogs.com/zwt20120701/p/11299595.html
https://www.cnblogs.com/lichunl/p/9285464.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值