返回值包含字符串熊猫的所有列

use*_*463 1 python-2.7 pandas

我有一个如下所示的数据框。我想在数据框中查找包含字符串 'abc' 的所有列,并返回这些字段的列表,如下例所示。如果我正在寻找行,我会使用 isin,但我不确定如何获取列。非常感谢任何提示。

例子:

Print df

Field1  Field2  Field3
f_abc   23      dog
Df3     bb      ju


Return 

Field1
Run Code Online (Sandbox Code Playgroud)

dpo*_*man 5

您可以使用 上的列表理解来完成此操作df.columns

首先让我们创建一个示例数据框:

df = pd.DataFrame(columns=["A", "B", "C"], data=[['abc']*3]*3)
df['D'] = 'ab'
Run Code Online (Sandbox Code Playgroud)

结果是:

     A   B   C  D
0   abc abc abc ab
1   abc abc abc ab
2   abc abc abc ab
Run Code Online (Sandbox Code Playgroud)

现在让我们只打印包含 'abc' 的列:

print([col for col in df.columns if df[col].str.contains("abc").any()])
Run Code Online (Sandbox Code Playgroud)

['A', 'B', 'C']