pandas - 计算 Pandas 中列为 True 的地方,由另一个分组

标签 pandas

给定一个像这样的 DataFrame:

dft = pd.DataFrame([[12, 'Bob', True], 
                   [123, 'Henry', False], 
                   [768, 'Bob', False]], 
                   columns=['TID', 'UID', 'TRUTH'])

看起来像这样:

   TID    UID  TRUTH
0   12    Bob   True
1  123  Henry  False
3  768    Bob  False

我想聚合 UID 并计算 TRUTH 为 True 的位置。所以输出应该是这样的:

     UID  TRUTH
0    Bob      1
1  Henry      0

我已经试过了:

 dft.groupby('UID').agg({'TRUTH': pd.Series.nunique})  # counts all values T and F

我在概念上苦苦思索如何将条件与聚合放在一起。

感谢您的帮助!

最佳答案

这是您要找的吗?

print(dft.groupby('UID')['TRUTH'].sum().astype(int))

输出:

UID
Bob      1
Henry    0
Name: TRUTH, dtype: int32

关于pandas - 计算 Pandas 中列为 True 的地方,由另一个分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40477725/

相关文章:

python - python pandas 中两列之间的日期时间计算

python - 迭代使用 "locals": Python 生成的多个数据帧

python - 从 python pandas 数据框中的前面的行中减去列的行

python - 如何在Python中比较2个数据帧而不比较空值?

python - 将行附加到 Pandas 中的组

python - astype 是否编辑原始数据框?

python - Pandas :创建起点 - 终点矩阵,将终点保持在同一行

python - Pandas 汇总平均值,同时排除当前行

python - 在python中选择与另一列具有相同值的行中具有最高列值的csv行

pandas - 什么是可能的 Pandas 基本/标量数据类型?