如何过滤包含一个或另一个名称的列?

时间:2020-05-02 19:23:42

标签: python pandas

我正在使用一个Dataframe,其中包含一些有关产品品牌的列,一些问卷调查中的问题以及一些答案。我只想过滤包含问题和品牌的列。这是我尝试过的:

df.filter(regex=('brand','question'))

regex 之后,我尝试更改一些内容,但没有任何效果。有什么我可以做的吗?我希望使用这种代码,因为我实际上所做的是在过滤id之后过滤列。这就是我的代码:

df[df['id'].isin(id_sample)].filter(regex=('brand','question'))

谢谢!

1 个答案:

答案 0 :(得分:1)

类似的事情会起作用:

df.filter(regex='brand|question')

OR

您也可以使用list comprehension

cols = [col for col in df.columns if 'brand' in col or 'question' in col]
df = df[cols]