Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:如何查询多级列数据帧?_Python_Pandas - Fatal编程技术网

Python 熊猫:如何查询多级列数据帧?

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”),

背景:

当我进行聚合时,有时会得到多级列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”)
,但它返回
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
来做这个?