我有一个这样的数据框:
x (f g) y <-> x f (g y)
2 (* i.) 5 NB. 2 * (i. 5)
0 2 4 6 8
因此,我想根据第n次出现相同用户的情况来添加新列。因此,我想要的数据框将如下所示:
userId dateTime
2233 2018-08-01 12:30:29
1455 2018-08-01 13:08:01
2233 2018-08-01 15:08:01
1909 2018-08-01 15:18:01
2233 2018-08-01 17:58:01
1455 2018-08-01 19:08:01
几乎与序列号类似,但是我无法生成该列。
答案 0 :(得分:1)
您可以使用cumcount
df['Appearance_no'] = df.groupby('userId')['userId'].cumcount() + 1
userId dateTime Appearance_no
0 2233 2018-08-01 12:30:29 1
1 1455 2018-08-01 13:08:01 1
2 2233 2018-08-01 15:08:01 2
3 1909 2018-08-01 15:18:01 1
4 2233 2018-08-01 17:58:01 3
5 1455 2018-08-01 19:08:01 2