python - 根据 DataFrame 中的条件检索列

标签 python pandas dataframe

假设我在 pandas 中有以下数据框:

import pandas as pd
pd.DataFrame({'A': [True, False], 'B':[False, True], 'C':[True, True], 'D':[False, False], 'E':[False, False]})

如何才能只获取 True 的列?我有一个包含 2000 多列的 DataFrame,仅填充了 FalseTrue 值,对于每一行,我想获取 True 列。

最佳答案

您可以使用 DataFrame df 中的任何行作为列标签 df.columns 的 bool 索引。这将返回一个仅包含“true”列的 Index 对象:

>>> df.columns[df.loc[0]]
Index([u'A', u'C'], dtype=object)

由于这是一个 Index 对象而不是 Python 列表,因此您可以使用 tolist() 将其转换为一个:

>>> df.columns[df.loc[0]].tolist()
['A', 'C']

关于python - 根据 DataFrame 中的条件检索列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27660011/

相关文章:

python - pandas DataFrame.join 的运行时间(大 "O"顺序)是多少?

python - 如何检查一列的每个值是否正好映射到另一列中的一个值?

python - 如何用 pandas 读取大型 csv?

python - 如何在连接后重新索引 pandas DataFrame

Python 对列的操作和 "copy of a slice from a DataFrame"警告

python - 计算 DataFrame 列中所有定义的值,其中另一列中的相应值在 pandas 中未定义

python - pandas.DataFrame.round() 不会在所需位数后截断小数值

python - 如何将 pipenv python 作为 emacs Python shell 运行

python - 定义 LxmlLinkExtractor 规则时如何使用 RegEx 列表

python - 从 pandas 数据框中选择带有日期的行