У меня есть фрейм данных (namend df) с 2016/1/1 00:00 до 2018/11/25 23:00 с отметкой времени каждый час, object_id и значением.Набор данных содержит только те строки, в которых значение object_id имеет значение.
timestampHour object_id value
2016/1/1 00:00 1 2
2016/1/1 00:00 3 1
2016/1/1 01:00 1 1
2016/1/1 01:00 2 3
2016/1/1 02:00 2 3
2016/1/1 02:00 3 2
Я хотел бы получить фрейм данных, показывающий все идентификаторы объекта за каждый час, с нулевым значением, если значение отсутствует.
timestampHour object_id value
2016/1/1 00:00 1 2
2016/1/1 00:00 2 null
2016/1/1 00:00 3 1
2016/1/1 01:00 1 1
2016/1/1 01:00 2 3
2016/1/1 01:00 3 null
2016/1/1 02:00 1 null
2016/1/1 02:00 2 3
2016/1/1 02:00 3 2
Я создал dateTime из отметок времени,И округлил их до часов с помощью следующего кода:
df["timestamp"] = pd.to_datetime(df["result_timestamp"])
df['timestampHour'] = df['result_timestamp'].dt.round('60min')
(я не знаю, есть ли лучшие варианты, но я пытался создавать строки timestampHour до 12 (у меня есть 12 каждого уникального object_id)и заполнить эти вновь созданные строки неиспользуемым object_id (для этого часа), но я не смог создать пустые строки с условием)
Я довольно новичок в программировании и не нахожуподсказка, чтобы стать ближе к решению этой проблемы от поиска других сообщений.