过滤多索引数据集(python/pandas)
Posted
技术标签:
【中文标题】过滤多索引数据集(python/pandas)【英文标题】:Filter a multi-index dataset (python/pandas) 【发布时间】:2021-12-10 15:00:53 【问题描述】:我从数据集构建了一个数据透视表。 现在我想过滤数据集。 我只想保留第 21 列中的设置值与 22 中的设置值不同的行。如何使用多个索引来做到这一点?
resultaat.columns
结果:
MultiIndex([( 'SetValue', 21),
( 'SetValue', 22)],
names=[None, 'EquipmentID'])
【问题讨论】:
具有预期样本输出的样本 DataFrame 比仅列更有帮助。 【参考方案1】:对MultiIndex
中的选择值使用元组,对不相等使用cpmpare 并在boolean indexing
中进行过滤:
df1 = df[df[('SetValue', 21)].ne(df[('SetValue', 22)])]
如果将values
参数添加到pivot
:
df = df.pivot(index=..., columns=..., values='SetValue')
df1 = df[df[21].ne(df[22])]
【讨论】:
以上是关于过滤多索引数据集(python/pandas)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python/Pandas 将多索引数据写入 excel 文件