我有一个看起来像这样的数据框:
d c d
1 0 0
0 1
a b
1 5 2 9 9 1
2 6 6 8 0 5
3 7 8 7 8 7
我只想要列:
c
中有level=0
的人d
中带有level=0
并在[0,1]
中列表level=2
中的那些(请注意,在这种情况下,它在数据帧中仅为[0,1]
,但我希望它在带有其他无用列的较大数据框的一般情况下仍能正常工作)我已经尝试过类似df.loc[:,idx[['c','d'],0]]
之类的事情,但无法正常工作。
生成器代码:
df = pd.DataFrame({'a':[1,2,3],'b':[5,6,7],('c','',''):[9,0,8], ('d',0,1):[1,5,7], ('d',0,0):[9,8,7], ('d',1,''):[2,6,8]})
df = df.set_index(['a','b'])
df.columns = pd.MultiIndex.from_tuples(df.columns)