我有一个数据帧,其中标头具有3个值。我想选择数据框中我知道其中一个值的列,但其他两个值可以是任意值。
我已经尝试过了,但是不起作用:
df[slice(None), slice(None), "My header"]
这样做的时候,我收到一个错误消息,说这是“无效密钥”
我也尝试过使用loc:
df.loc[:, slice(None), slice(None), "My header"]
感谢您的帮助!
答案 0 :(得分:0)
所以我不知道这是否是“最佳”解决方案,但最终对我有用的是首先使用以下命令对标头进行排序:
df.sort_index(axis=1, inplace=True)
然后使用slice(None):
df.loc[:, (slice(None), slice(None), "MyHeader3")]
希望这对其他人有帮助!
另一种解决方案:
df[[x for x in df.columns if 'header3' in x]]
不确定哪个更有效。