【发布时间】:2020-02-09 06:46:12
【问题描述】:
我有一个相当大的 DataFrame,比如 600 个索引,并且想要使用过滤条件来生成条件为真的 DataFrame 的简化版本。根据我所做的研究,当您将表达式应用于数据并且已经知道您正在操作的索引时,过滤效果很好。但是,我想要做的是将过滤条件应用于索引。请参阅下面的示例。
MultiIndex 为粗体,MultiIndex 名称为斜体。
我想沿着这些思路应用如下(或其他)标准:
df = df[MultiIndex.query('base == 115 & Al.isin(stn)')]
然后也许做这样的事情:
df = df.transpose()[MultiIndex.query('Fault.isin(cont)')].transpose
结果:
我认为基本上我正在尝试生成一个布尔列表来屏蔽 MultiIndex。如果有一种将熊猫查询应用于二维列表的快速方法?这是可以接受的。到目前为止,似乎一个选项是采用 MultiIndex,将其转换为 DataFrame,然后我可以应用过滤,因为我想获得 TF 数组。不过我担心这会很慢。
【问题讨论】:
-
共享一个数据帧,包括输入数据帧和预期输出,而不是图片:stackoverflow.com/questions/20109391/…
标签: python pandas dataframe filtering multi-index