Создайте столбец Панд на основе n-го повторения значения - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть такой фрейм данных:

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

Итак, я хочу добавить новый столбец, основываясь на n-й раз, когда появляется тот же пользователь. Так что мой желаемый датафрейм будет выглядеть примерно так:

userId  dateTime             Appearance_no

2233    2018-08-01 12:30:29    1
1455    2018-08-01 13:08:01    1
2233    2018-08-01 15:08:01    2
1909    2018-08-01 15:18:01    1
2233    2018-08-01 17:58:01    3
1455    2018-08-01 19:08:01    2

, который почти похож на серийный номер, но я не могу сгенерировать столбец.

1 Ответ

0 голосов
/ 06 сентября 2018

Вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...