我尝试按可能包含以下字符串的列过滤我的大数据' io'和' ir'。
DF1
index aio bir ckk
1 2 3 4
2 3 4 5
我想用包含' io'的列创建一个新的df。和' ir。 新的df应该看起来:
index aio bir
1 2 3
2 3 4
我试过
df = df[:, str.contains('io','ir')]
但我收到错误提示类型对象' str'没有属性'包含'
答案 0 :(得分:5)
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')]
答案 1 :(得分:1)
您提到str.contains
df.loc[:,df.columns.str.contains('io|ir')]
Out[354]:
aio bir
index
1 2 3
2 3 4