首页 > 解决方案 > 如何获取包含值列表的列名?

问题描述

我正在尝试从列表中返回包含字符串的列名。

import pandas as pd
names = ['Brian', 'John']
df = pd.DataFrame(columns=["A", "B", "C", "D", "E", "F"], data=[['abc']*6]*6)
df['D'] = ['Brian', 'John', "Mike", 'Brian', 'John', "Mike"]
print(df)
col_name = ([i for i in df  if df [i].isin([names]).any()])

这不适用于列表。有什么方法可以传递名称列表并打印包含这些值的列名?

标签: pythonpython-3.xpandasdataframe

解决方案


尝试:

df.columns[df.isin(names).any()]

输出:

Index(['D'], dtype='object')

推荐阅读