【发布时间】:2021-01-16 10:47:35
【问题描述】:
我已根据我确定的条件创建了一个布尔列。我想通过计算每组的 True 值更进一步。
我有
group = df.groupby('id')
df.loc[:,'Match'] = (group['flag'].transform(lambda x: x.eq(0).any()))&(group['flag'].transform(lambda x: x.eq(1).any()))
这给了我 True 和 False 值。然后如何计算每个 id 填充的 True 值的数量?
样本数据:
id flag Match Count Match
123 0 True 3
123 1 True 3
123 1 True 3
567 0 False 0
567 0 False 0
上面创建了匹配列,然后我想创建计数匹配列。
【问题讨论】:
-
您应该提供一些示例数据。
-
我添加了一些示例数据@QuangHoang
-
ID 123 有 3 个 True,但是您的计数匹配列中只有 2 个 id 123。这是有原因的吗?还是错字?
-
打错字了,我改正了@CameronRiddell
标签: python pandas group-by transform