如何从多索引数据框中选择两个元素

Posted

技术标签:

【中文标题】如何从多索引数据框中选择两个元素【英文标题】:How to select two elements from multiindex dataframe 【发布时间】:2020-08-07 22:04:24 【问题描述】:

我有一个这样的多索引数据框:

              x                        ...          y                      
          count       mean        std  ...        50%        75%        max
dataset                                ...                                 
a         142.0  54.266100  16.769825  ...  47.535269  71.803148  97.475771
bullseye  142.0  54.268730  16.769239  ...  47.382937  72.532852  85.876229
circle    142.0  54.267320  16.760013  ...  51.025022  77.782382  85.578134
d         142.0  54.263273  16.765142  ...  46.025600  68.525675  99.487200
dots      142.0  54.260303  16.767735  ...  51.299291  82.881589  94.249328

我只想排除具有均值和标准的列。我在pandas dataframe select columns in multiindex 找到了一种排除均值的方法,但不知道如何同时排除“标准”和“均值”。

df.iloc[:, [df.columns.get_level_values(1)=='mean']]

例如,我尝试使用 '=='in ['mean,'std'] 和许多其他方式来代替 'or' ,但无法弄清楚。

【问题讨论】:

【参考方案1】:

Index.isin~ 的反转掩码一起使用:

df.loc[:, ~df.columns.get_level_values(1).isin(['mean', 'std'])]

【讨论】:

以上是关于如何从多索引数据框中选择两个元素的主要内容,如果未能解决你的问题,请参考以下文章

Python,pandas:如何从对称的多索引数据框中提取值

访问熊猫数据框中内部多索引级别的最后一个元素

在 pandas 数据框中使用多索引连接数据框

在多索引数据框中填充缺失的时间值

从多索引数据框中进行多次绘图

如何更改多索引数据框中的索引