python - 如何获取包含值列表的列名?
问题描述
我正在尝试从列表中返回包含字符串的列名。
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()])
这不适用于列表。有什么方法可以传递名称列表并打印包含这些值的列名?
解决方案
尝试:
df.columns[df.isin(names).any()]
输出:
Index(['D'], dtype='object')
推荐阅读
- javascript - 在 `createGlobalStyle` 中使用样式化组件的规则
- java - Spring:将 webServiceTemplate 信封“env”更改为“soapenv”
- reactjs - “确切”导致空白页制作模式
- json - SWIFT4 将 JSON 解码结果发送到类进行处理
- c++ - 在 Windows/MSVC 上将 C++ gRPC 与 Bazel 集成?
- azure - Azure Function Timeout on Consumption Plan
- cluster-analysis - 当我对特征进行标准化时,K-means 找到了一个单例集群(批发客户数据集)
- http - Ionic 使用 Oauth 检索和操作数据,需要帮助
- wpf - ComboBox SelectionChanged 事件处理程序中的 InvalidCastException
- html - HTML 和 CSS 中未显示搜索图标 (Adobe Dreamweaver CC 2019)