在 pandas 枢轴 table 上应用多重过滤器

Applying multiple filter on pandas pivot table

我们如何在 piviot_table 上应用多个过滤器?

我有一个数据框作为 df

我可以通过

对其应用一个过滤器
pivot = df.query('Brand == ["HTC", "APPLE"]'
                ).pivot_table(index = ['Outlet'], 
                columns = ['Material'],
                values = ['Sales'],
                aggfunc = np.sum, fill_value=0, margins=True)

上面的代码在一个过滤器品牌上工作正常,但是如何应用一个或多个过滤器呢?在下面的代码中,如果您看到我已尝试添加但我收到了一个无效的错误。也许我没有正确提供第二个过滤器。

pivot = df.query('Brand == ["HTC", "APPLE"]', 'City == ["Delhi", "Mumbai"]'
                ).pivot_table(index = ['Outlet'], 
                columns = ['Material'],
                values = ['Sales'],
                aggfunc = np.sum, fill_value=0, margins=True)

有人知道我该怎么做吗?

您可能需要在条件中使用逻辑运算符,例如:

pivot = df.query('Brand == ["HTC", "APPLE"]' and 'City == ["Delhi", "Mumbai"]'
                ).pivot_table(index = ['Outlet'], 
                columns = ['Material'],
                values = ['Sales'],
                aggfunc = np.sum, fill_value=0, margins=True)