Python 熊猫:如何查询多级列数据帧?
背景: 当我进行聚合时,有时会得到多级列dataframe,如下所示: 因此,我需要使用多级列查询数据 下面是一些虚拟数据Python 熊猫:如何查询多级列数据帧?,python,pandas,Python,Pandas,背景: 当我进行聚合时,有时会得到多级列dataframe,如下所示: 因此,我需要使用多级列查询数据 下面是一些虚拟数据 df=pd.DataFrame({'a':[1,2,3],'b':[4,5,6]}) columns=[('c','a'),('b','')] df.columns=pd.MultiIndex.from_tuples(columns) df 我的问题:如何查询b>0和(c,a)>0等数据? 我尝试了df.query(“b>0”),df.query((c,a)>0”),
df=pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
columns=[('c','a'),('b','')]
df.columns=pd.MultiIndex.from_tuples(columns)
df
我的问题:如何查询b>0和(c,a)>0等数据?
我尝试了df.query(“b>0”)
,df.query((c,a)>0”)
,但它返回UndefinedVariableError:未定义名称“b”
我也试着四处搜索,但没有找到相关的东西,我错过了什么吗
谢谢以下是使用
.loc
索引器执行此操作的方法:
df[df[('c', 'a')] > 0]
c b
a
0 1 4
1 2 5
2 3 6
df[df['b'] > 0]
c b
a
0 1 4
1 2 5
2 3 6
所以我不能用
.query
来做这个?