Как посчитать количество продуктов, ранее использованных в фрейме данных, используя groupby? - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть датафрейм, где мне дают идентификатор пользователя, продукты и категорию продукта. Я хочу сделать функцию для dataframe, где он говорит, сколько раз этот пользователь ранее потреблял этот продукт. пользователь 6 принял продукт 8, два раза ранее в последнем ряду.

user_id products last_used
    1   8           0     
    2   2           0       
    4   2           0
    6   8           0
    6   2           0
    1   8           1
    2   2           1
    6   8           1
    6   8           2

Я хочу этот последний использованный столбец в моем фрейме данных. Заранее спасибо.

1 Ответ

0 голосов
/ 17 ноября 2018

Использование groupby и cumcount:

df['last_used'] = df.groupby(['user_id','products'])['products'].cumcount()

print(df)
   user_id  products  last_used
0        1         8          0
1        2         2          0
2        4         2          0
3        6         8          0
4        6         2          0
5        1         8          1
6        2         2          1
7        6         8          1
8        6         8          2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...