汇总多个 Pandas 布尔列的结果
Summarising results of multiple Pandas Boolean columns
我有一个包含多个布尔列的 Pandas 数据集(有效地标记公司设定的可持续发展目标类型)。我想通过计算 True 和 False 出现的次数来总结这些列的结果。
数据集的简化示例:
data1 = [['Apple', True, True, True], ['Tesla', True, False, True], ['Nike', True, False, False]]
df1 = pd.DataFrame(data1, columns=['Company', 'Carbon-target', 'Water-target', 'Waste-target'])
Company Carbon-target Water-target Waste-target
0 Apple True True True
1 Tesla True False True
2 Nike True False False
期望的输出:
True False
Carbon-target 3 0
Water-target 1 2
Waste-target 2 1
目前,我能想到的唯一运算符是 word_count 函数,但需要多次迭代。有没有更简单的方法?
谢谢!
Select 布尔列
x = df.select_dtypes(bool)
计数 True
和 False
个值
out = pd.DataFrame({True: x.sum(), False: df.shape[0] - x.sum()})
输出
True False
Carbon-target 3 0
Water-target 1 2
Waste-target 2 1
我有一个包含多个布尔列的 Pandas 数据集(有效地标记公司设定的可持续发展目标类型)。我想通过计算 True 和 False 出现的次数来总结这些列的结果。
数据集的简化示例:
data1 = [['Apple', True, True, True], ['Tesla', True, False, True], ['Nike', True, False, False]]
df1 = pd.DataFrame(data1, columns=['Company', 'Carbon-target', 'Water-target', 'Waste-target'])
Company Carbon-target Water-target Waste-target
0 Apple True True True
1 Tesla True False True
2 Nike True False False
期望的输出:
True False
Carbon-target 3 0
Water-target 1 2
Waste-target 2 1
目前,我能想到的唯一运算符是 word_count 函数,但需要多次迭代。有没有更简单的方法?
谢谢!
Select 布尔列
x = df.select_dtypes(bool)
计数 True
和 False
个值
out = pd.DataFrame({True: x.sum(), False: df.shape[0] - x.sum()})
输出
True False
Carbon-target 3 0
Water-target 1 2
Waste-target 2 1