测试 MultiIndex 中的值 [重复]
Posted
技术标签:
【中文标题】测试 MultiIndex 中的值 [重复]【英文标题】:Testing for a value in a MultiIndex [duplicate] 【发布时间】: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 上工作。
【问题讨论】:
【参考方案1】:再次尝试使用一些不同的关键字进行搜索*,当然使用in
很容易完成:
if number in df.columns.get_level_values('counter'):
#do stuff
else:
#print my custom error
找到例如here
*当这种情况发生时我讨厌它。您在简单的事情上花费了太多时间,最后屈服并发布了一个愚蠢的问题,然后您脑残并无论如何都解决了它,当然这很简单。哦,好吧……
【讨论】:
以上是关于测试 MultiIndex 中的值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Multiindex Pandas Dataframe中的多重赋值[重复]