【问题标题】:Testing for a value in a MultiIndex [duplicate]测试 MultiIndex 中的值 [重复]
【发布时间】:2020-08-29 16:30:11
【问题描述】:

我有一个带有大型 MultiIndex 的 pandas 数据框。 我正在从此数据框中选择索引中包含各种元数据的列,例如

current_row = df.xs(number, level='counter', drop_level=False, axis=1)

到目前为止,一切都很好。但是,number 来自一个列表,该列表可能包含索引中 counter 级别中未包含的数字,因此上述显然失败并出现 KeyError。

那么有什么方法可以测试我的号码是否存在,以便我可以继续使用该号码,或者抛出自定义错误并继续使用下一个号码?

isin 听起来像是我需要的,但我无法让它在我的 Multiindex 上工作。

【问题讨论】:

    标签: pandas multi-index


    【解决方案1】:

    再次尝试使用一些不同的关键字进行搜索*,当然使用in 很容易完成:

    if number in df.columns.get_level_values('counter'):
        #do stuff
    else:
        #print my custom error
    

    找到例如here

    *当这种情况发生时我讨厌它。您在简单的事情上花费了太多时间,最后屈服并发布了一个愚蠢的问题,然后您脑残并无论如何都解决了它,当然这很简单。哦,好吧……

    【讨论】:

      猜你喜欢
      • 2019-02-14
      • 2021-07-05
      • 1970-01-01
      • 2022-01-24
      • 2011-07-12
      • 2014-06-03
      • 2018-11-18
      • 2012-08-08
      • 2018-12-31
      相关资源
      最近更新 更多