下面是一段代码,它完成了我要做的部分工作:

selection=df.xs(('year2012','3quarter','A'),level=[0,1,2],axis=1)

如何在轴1的每个级别中选择多个标准?
下面的方法似乎是错误的。
selection=df.xs(( ['year2012','year2015'] , ['3quarter','4quarter'] , 'A'), level=[0,1,2], axis=1
谢谢你

最佳答案

考虑示例dataframedf

mux = pd.MultiIndex.from_product([
        ['year{}'.format(i) for i in range(2010, 2017)],
        ['{}quarter'.format(i) for i in range(1, 5)],
        list('ABCD')
    ])

df = pd.DataFrame([np.arange(len(mux))], columns=mux)

df

python - 通过列级别/轴1多索引选择Pandas数据-LMLPHP
方法是使用pd.IndexSlice
l1 = ['year2012','year2015']
l2 = ['3quarter','4quarter']
l3 = 'A'

df.loc[:, pd.IndexSlice[l1, l2, l3]]

python - 通过列级别/轴1多索引选择Pandas数据-LMLPHP

关于python - 通过列级别/轴1多索引选择Pandas数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43378678/

10-09 17:10