Pandas- 创建一个新列,其中填充另一列中的观察数

Par*_*gue 2 python pandas

我有一个 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
Run Code Online (Sandbox Code Playgroud)

在 Pandas 中执行此操作的最快方法是什么?

Rut*_*ies 5

一个简单的 groupby+transform 可以工作:

df['num_totals'] = df.groupby('ID').transform('count')
Run Code Online (Sandbox Code Playgroud)