df.head (). Info ()
RangeIndex: 5 entries, 0 to 4
Data columns (total 4 columns):
id 5 non-null object
date-hr 5 non-null object
channel 5 non-null object
hr 5 non-null int64
dtypes: int64(1), object(3)
Фактический date-hr выглядит примерно так:
'2017-02-14--15'
id это строка
У меня есть df вроде:
User-ID | Date-hr | Channel | Hr
U1 D1-10 C1 10
U1 D1-11 C2 11
U1 D1-10 C1 10
U1 D1-10 C3 10
U1 D1-10 C1 10
U1 D1-11 C3 11
U1 D1-11 C2 11
..
, когда я применяю сводную операцию с идентификатором пользователя в качестве индекса и столбцами как
['date-hr', 'channel']
с использованием count в качестве функции агрегирования.
Я получаю 1 строку для каждого пользователя с первичным индексом в качестве даты-часа и всех каналов под этим одним значением даты-часа, например:
D1-10 D1-11 .....
C1 C3 C2 C3 .....
U1 3 1 2 1 .....
Теперь мне нужен максимальный канал для каждого 'date-hr' с числом
D1-10 D1-11 .....
C1 C2 .....
U1 (C1,3) (C2,2) .....
. Я не могу понять, как получить это преобразование из моих данных.