Примечание: код для следующего можно найти в моем github репозитории .
У меня есть фрейм данных Python, который я пытаюсь проиндексировать таким образом, чтобы я мог проверить клиентов в наборе данных user_id
и их подписках id
, чтобы затем выполнить базовые временные рядыанализ.
Я пытался создать сводные таблицы и различные индексации, но не могу заставить его работать. Как мне манипулировать df, чтобы позволить мне выполнять поиск и сегментировать на основе user_id
(клиент), с которым связан только один id
(подписка), и user_id
(клиент), который имеет более одного id
(подписка)? Или есть способ написать функцию для этого?
- groupby:
data1.groupby('user_id').groups
вывод:
Int64Index([1507701], dtype='int64', name='id'),
5404: Int64Index([1526753], dtype='int64', name='id'),
7938: Int64Index([1489315], dtype='int64', name='id'),
17951: Int64Index([1526391, 2050396, 2050416, 2050417, 2050418], dtype='int64', name='id'),
19323: Int64Index([1447565, 1482407], dtype='int64', name='id'),
19468: Int64Index([1490024], dtype='int64', name='id'),
20407: Int64Index([1524039], dtype='int64', name='id'),
30813: Int64Index([1537149], dtype='int64', name='id'),
32786: Int64Index([1529058, 1529059, 1714909], dtype='int64', name='id'),
33316: Int64Index([1528798], dtype='int64', name='id'),
36867: Int64Index([1493735], dtype='int64', name='id'),
42060: Int64Index([1607724], dtype='int64', name='id'),
44155: Int64Index([1473383, 1474035, 1547023], dtype='int64', name='id'),
49526: Int64Index([1493405], dtype='int64', name='id'),
Выше, кажется, идет по пути того, что я пытаюсьдля выполнения (например, 17951: Int64Index([1526391, 2050396, 2050416, 2050417, 2050418], dtype='int64', name='id'),
показывает user_id
с несколькими id
)
Но как мне выполнить это на самом кадре данных? Или продолжать с этим, чтобы потом работать с этим? Я не уверен, как именно это сказать, извините: /