Я относительно новичок в pandas, и я надеюсь, что вы могли бы помочь мне; -)
Я хочу сгруппировать pandas фрейм данных по name_id
и datetime
, добавив также пропущенные значения даты и времени (NaN
).
Пример ввода:
name_id datetime value
A 23/01/2020 0:00:00 100
A 23/01/2020 1:00:00 98
A 23/01/2020 2:00:00 96
A 23/01/2020 3:00:00 99
A 23/01/2020 3:00:00 99
A 23/01/2020 4:00:00 98
A 23/01/2020 5:00:00 99
B 23/01/2020 0:00:00 144
B 23/01/2020 1:00:00 324
B 23/01/2020 2:00:00 367
B 23/01/2020 3:00:00 368
B 23/01/2020 6:00:00 364
Прежде всего мне нужно заполнить пропущенные значения даты и времени для name_id
. Если есть пропущенный час с одного дня (с 00:00 до 23:00), добавьте новую строку с этим часом и соответствующим значением 'Nan'.
Также мне нужно удалить дубликаты. Из-за изменения времени некоторые дни могут быть с 25 часами, поэтому мне нужно удалить их для этого часа / дня и name_id
.
Вывод будет выглядеть следующим образом:
name_id date v
A 2020-01-23 [132, 76, 56, 77, 81, 100, NaN, Nan, ......]
B 2020-01-23 [44, 24, 165, 267, NaN, Nan, 263, Nan, Nan...]
I нашел похожий случай здесь, но он не работает для меня, когда я применяю эту часть кода, он удаляет мой столбец name_id: - (
Группировать и заполнять отсутствующие значения даты и времени дубликатами ?
df1 = (
df.reset_index('name_id')
.groupby('name_id')['value']
.apply(f)
.reset_index()
)
Заранее спасибо!