我正在尝试按可能包含以下字符串’io’和’ir’的列过滤我的大数据.
DF1
index aio bir ckk
1 2 3 4
2 3 4 5
我想用包含’io’和’ir的列创建一个新的df.
新的df应该看起来:
index aio bir
1 2 3
2 3 4
我试过了
df = df[:, str.contains('io','ir')]
但我得到一个错误说类型对象’str’没有属性’包含’
最佳答案 使用pd.DataFrame.filter
df.filter(regex='i(o|r)')
aio bir
index
1 2 3
2 3 4
如果你有一个匹配的东西列表
things = ['io', 'ir']
df.filter(regex='|'.join(things))
aio bir
index
1 2 3
2 3 4
备择方案
df.filter(regex='io|ir')
df.loc[:, df.columns.str.contains('io|ir')]