pandas 索引 —— index、set_index、reset_index

  • 无列名:pandas 下的 DataFrame 会默认增加行号和列号,index 自然也是integer形式

    >> df_a = pd.DataFrame(data=[['A', 'B', 'C'], ['A1', 'B1', 'C1']])
    >> df_a
        0   1   2
    0   A   B   C
    1  A1  B1  C1
    
    >> df_a.index
    RangeIndex(start=0, stop=2, step=1)
  • 指定列名:

    >> df_a = pd.DataFrame(data=[['A', 'B', 'C'], ['A1', 'B1', 'C1']], 
                        columns=['first', 'second', 'third'])
    >> df_a
     first second third
    0     A       B     C
    1    A1      B1    C1
    
    >> df_a.index
    RangeIndex(start=0, stop=2, step=1)

1. set_index:为DataFrame指定索引

  • set_index:可以设置单索引,也可以设置复合索引;
  • set_index 可选参数
    • inplace:设置是否就地发生;
      • 默认为False
      • inplace=True

对于有列名的情况:

>> df_a = pd.DataFrame(data=[['A', 'B', 'C'], ['A1', 'B1', 'C1']], 
                        columns=['first', 'second', 'third'])
>> df_a.set_index(['first', 'second'])
             third
first second
A     B          C
A1    B1        C1
            # 可以看到,列名与列索引是错开的;
>> df_a_indexed = df_a.set_index(['first', 'second'])
>> df_a_indexed.index
MultiIndex(levels=[['A', 'A1'], ['B', 'B1']],
           labels=[[0, 1], [0, 1]],
           names=['first', 'second'])

2. reset_index:重置索引

>> df_a_indexed.reset_index().index
RangeIndex(start=0, stop=2, step=1)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值