pandas - 测试 MultiIndex 中的值
问题描述
我有一个带有大型 MultiIndex 的熊猫数据框。我正在从此数据框中选择具有索引中各种元数据的列,例如
current_row = df.xs(number, level='counter', drop_level=False, axis=1)
到目前为止,一切都很好。但是,number
来自一个可能包含未包含在counter
索引级别中的数字的列表,因此上述显然失败并出现 KeyError。
那么有什么方法可以测试我的号码是否存在,以便我可以继续使用该号码,或者引发自定义错误并继续使用下一个号码?
isin
听起来这将是我需要的,但我无法让它在我的 Multiindex 上工作。
解决方案
再次尝试使用一些不同的关键字进行搜索*,当然这很容易完成in
:
if number in df.columns.get_level_values('counter'):
#do stuff
else:
#print my custom error
例如在这里找到
*当这种情况发生时,我讨厌它。您在简单的事情上花费了太多时间,最后屈服并发布了一个愚蠢的问题,然后您脑残并无论如何都解决了它,当然这很简单。哦,好吧……</p>
推荐阅读
- python - 将六位数的数字列拆分为一个数字的分隔列
- javascript - 如何获取包含特定子元素的元素的索引
- docker - 无法下载 Docker 映像 - 没有这样的主机
- oracle-adf - 如何在视图条件之外的 selectManyChoice LOV 中允许选择然后取消选择
- java - 如何使用正则表达式仅捕获具有特定格式的有效句子的第一个单词?
- flutter - 我怎样才能制作这样的个人资料页面..?
- hive - 执行两个 tHiveRow 组件后,第一个组件仍在写入数据,而第二个组件已开始移动导致问题的数据
- java - 在我单击 SearchView 之前,ListView 不会显示
- logging - 即使禁用了日志文件捕获,Pytest 也会捕获日志文件
- python-3.x - 将文件转换为 DataFrame,然后为多个 DataFrame 应用函数