根据值的第n次重复创建熊猫列

时间:2018-09-06 18:23:41

标签: python pandas

我有一个这样的数据框:

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

几乎与序列号类似,但是我无法生成该列。

1 个答案:

答案 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