首页 > 解决方案 > 计算跨数据框的真/假出现次数(列和行)

问题描述

我尝试在数据框中找到所有“真实”事件的总和

df

A   B     C   D 
1 True False True False
2 False False False True
3 True True False True
4 True False False True

结果显示为 8

我试过了

condition_total = df[df.values = True].counts()

我找到了列的解决方案,但没有找到整个数据框的解决方案

标签: pythonpandas

解决方案


您可以使用df == something获取一个矩阵,其中的值等于您要查找的数据。然后,您可以使用计算每行的结果.sum(),然后再次使用汇总列.sum()

以下代码给出了 9 using== False和 7 using == True

import pandas as pd

d = {"A": [True, False, True, True], 
     "B": [True, False, False, False], 
     "C": [True, False, False, False],
     "D": [False, True, True, False]}
df = pd.DataFrame(data=d)
condition_total = (df == False).sum().sum()
print(condition_total)

与 的比较== True是多余的,所以它可以是df.sum().sum()


推荐阅读