在pandas中,选择其标签包含指定级别的给定字符串的所有列

时间:2014-08-12 21:47:24

标签: python pandas

我想写:

mydf[mydf.columns.get_level_values('level_2').str.contains('mystring')]

但这不起作用。这里的语法是什么?

1 个答案:

答案 0 :(得分:1)

尝试:

idx = mydf.columns.get_level_values('level_2').to_series().str.contains('mystring')
mydf.loc[:, idx.values]

或:

idx = mydf.columns.get_level_values('level_2').map(lambda t: 'mystring' in t)
mydf.loc[:, idx]