Python/Pandas - 查询多索引列

标签 python pandas multi-index

这个问题在这里已经有了答案:





Select columns using pandas dataframe.query()

(5 个回答)


3年前关闭。




我正在尝试在 MultiIndex 列上使用查询。它适用于 MultiIndex 行,但不适用于列。是否有一个原因?该文档显示了与下面第一个类似的示例,但并不表示它不适用于 MultiIndex 列。

我知道还有其他方法可以做到这一点,但我特别想用查询函数 来做到这一点。

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.random((4,4)))
df.index = pd.MultiIndex.from_product([[1,2],['A','B']])
df.index.names = ['RowInd1', 'RowInd2']
# This works
print(df.query('RowInd2 in ["A"]'))

df = pd.DataFrame(np.random.random((4,4)))
df.columns = pd.MultiIndex.from_product([[1,2],['A','B']])
df.columns.names = ['ColInd1', 'ColInd2']
# query on index works, but not on the multiindexed column
print(df.query('index < 2'))
print(df.query('ColInd2 in ["A"]'))

最佳答案

要回答我自己的问题,根据此处的答案,似乎根本不应该使用查询(无论是否使用 MultiIndex 列)来选择某些列:

Select columns using pandas dataframe.query()

关于Python/Pandas - 查询多索引列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51502959/

相关文章:

python - scikit-learn 中的 10*10 折交叉验证?

python - 在 Python 上使用 time.time() 完美计时

python - 使用计数比率的附加列对 DataFrame 进行分组和旋转

python - 如何正确排序多索引 pandas DataFrame

pandas - 对 pandas 的多索引 DataFrame 进行切片

python - 如何处理与坐标的碰撞? (在 python 中)

python - 有没有开源工具可以找到python程序的流程?

python - 在 Pandas 中将分类变量重新编码为整数

python - 有没有更有效的方法将映射应用于 pandas 系列?

python - 使用多索引条件选择数据帧的子集