我有一个这样的数据框,
col1 col2 col3 col4 col5 col6
abc bc eg egg 123 NA
frog dog fox cat ac aa
12 7 87 ch 25 1
bc 79 09 123 NA 89
...
...
我想选择所有包含特定字符串的列,以获取数据框的子集。
例如,我希望所有行都包含'bc'
我知道如何从一列中选择它,
df.loc[df.col1.str.contains('bc', na=False)]
但是如何一次从所有列中获取数据?因为我的原始专栏超过200篇。
我尝试使用
for c, dtype in zip(df.columns, df.dtypes):
... if dtype == np.object:
... df = df.loc[df[c].str.contains("bc",na = False)]
但是它只返回所有列名。
最终结果应该是
col1 col2 col3 col4 col5 col 6
abc bc efg egg 123 NA
bc 79 09 123 NA 89
...
...
我想要的只是原始数据框所有包含“ bc”的行的子集。