Следующий набор данных отражает поведение пользователя в Интернете.
user_id session_id keyword real_time_stamp presented clicked
0 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 101 101
1 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 102 None
2 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 103 None
3 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 104 None
4 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 105 None
5 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 106 None
6 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 107 None
7 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 108 None
8 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 109 None
9 10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 110 None
В столбце «Представлено» показано, какие элементы были представлены пользователю, а также из представленных элементов, на какой из них был сделан щелчок. В приведенном выше примере был нажат первый элемент. Цель состоит в том, чтобы свести эту информацию в одну строку, но при этом сохранить отметку времени.
Выполняя следующую команду group_by, вы получаете структуру, но без метки реального времени и щелчка. Как только вы разместите в группе объявление real_time_stamp, вы не получите «агрегированную» версию.
df_collapse = df.groupby(['user_id', 'session_id', 'keyword'])['presented'].apply(lambda x: '|'.join(x)).reset_index()
Моя попытка — получить следующую структуру:
user_id session_id keyword real_time_stamp presented clicked
10010 s2342009n camera 2020-03-01 05:00:19.195000+00:00 101|102|103|104|105|106|107|108|109|110 101
Подробнее здесь: https://stackoverflow.com/questions/610 ... -not-a-sum
Панды сохраняют другие столбцы после GroupBy – не сумма ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение