我有一个DataFrame对象df
。 df
中的一个列值为ID
有许多行具有相同的ID。
我想创建一个新列num_totals
,用于计算每个ID的观察次数。例如,像这样:
ID | Num Totals
1 | 3
1 | 3
1 | 3
2 | 2
2 | 2
3 | 3
3 | 3
3 | 3
4 | 1
在熊猫中最快的方法是什么?
答案 0 :(得分:4)
一个简单的groupby +转换可以工作:
df['num_totals'] = df.groupby('ID').transform('count')