pandas中多重索引multiIndex的使用

        单层索引index中,我们可以轻松通过df.loc[index]来获取某一行数据,多重索引是怎么样来实现的呢,下面进行介绍。

        1、行多层索引

1 import pandas as pd
2 
3 df = pd.DataFrame({'class':['A','A','A','B','B','B','C','C'],
4                    'id':['a','b','c','a','b','c','a','b'],
5                    'value':[1,2,3,4,5,6,7,8]})
6 df.set_index(['class', 'id'],inplace=True)
7 
        
8 df.loc['A', :]
        
1 #利用df.query()来取数
2 df.query('id == "a"')
       

         2、列多层索引

 1 dfmi = pd.DataFrame([list('abcd'),
 2                       list('efgh'),
 3                       list('ijkl'),
 4                       list('mnop')],
 5                       columns=pd.MultiIndex.from_product([['one', 'two'],
 6                                                          ['first', 'second']]))
 7 dfmi
 8 dfmi['one']
 9 dfmi['one']['second']
    0    b
    1    f
    2    j
    3    n
    Name: second, dtype: object
10 dfmi.loc[:, ('one', 'second')]
    0    b
    1    f
    2    j
    3    n
    Name: (one, second), dtype: object

转载于:https://www.cnblogs.com/beyondChan/p/10926788.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值