假设我在 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,仅填充了 False
和 True
值,对于每一行,我想获取 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/