Итерация pandas dataframe, проверка значений и создание некоторых из них
Хорошо, у меня есть (большой) фрейм данных, что-то вроде этого:
date time value
0 20100201 0 1
1 20100201 6 2
2 20100201 12 3
3 20100201 18 4
4 20100202 0 5
5 20100202 6 6
6 20100202 12 7
7 20100202 18 8
8 20100203 0 9
9 20100203 18 11
10 20100204 6 12
...
8845 20160101 18 8846
Как видите, в фрейме данных есть столбецdate
колоннаtime
с четырьмя часами на каждый день (00, 06, 12, 18) и колонкойvalue
.
Проблема в том, что в кадре данных отсутствуют даты, в приведенном выше примере между строками 8 и 9 должны быть две дополнительные строки, соответствующие часам.6
а также12
дня20100203
а также дополнительная строка между строками 9 и 10, соответствующая часу0
дня20100204
.
Что мне нужно? Я хотел бы повторитьdate
столбец данных, проверяя, что каждый день существует, и никто не пропал, а также, что для каждого дня есть четыре часа (00, 06, 12, 18). В случае, если во время итерации чего-то не хватает, следует добавитьименно так это место, с пропавшим без вестиdate
а такжеtime
а такжеNaN
как ценность. Чтобы не копировать все данные снова, позвольте мне указать соответствующие аспекты, которые должны появиться в окончательной версии:
...
7 20100202 18 8
8 20100203 0 9
9 20100203 6 NaN
10 20100203 12 NaN
11 20100203 18 11
12 20100204 0 NaN
13 20100204 6 12
...
В случае, если вы заинтересованы, здесь была задана более простая версия этой проблемы.Модульная арифметика в python для итерации кадра данных панд и любезно ответили пользователи @Alexander и @piRSquared. Спрашиваемая здесь версия является более сложной, предполагающей (я полагаю) использование datetime и timedelta и итерацию большего числа столбцов.
Извините за длинный пост и большое спасибо.