我有一个数据框:
id value
A 1
A 0
A 1
B 1
B 1
C 0
我正在尝试按ID分组并计算“值”列中的出现次数,以使我不计算在内。的,没有的。每组中有0个:
id No. of 1's No of 0's
A 2 1
B 1 0
C 0 1
我知道一种分组和使用聚合函数的方法
df.groupby('id').agg({'value': xxx})
但是我认为应该有一个更好的方法。
答案 0 :(得分:0)
您需要unstack
和add_prefix
/ suffix
df.groupby(["id", "value"])["value"].count().unstack(1).fillna(0).add_prefix(
"counts_of_"
).add_suffix("'s")
value counts_of_0's counts_of_1's
id
A 1.0 2.0
B 0.0 2.0
C 1.0 0.0