Iterando o dataframe dos pandas, verificando valores e criando alguns deles

Ok, eu tenho um (grande) dataframe, algo como isto:

         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  

Como você pode ver, o quadro de dados tem uma colunadate, uma colunatime com quatro horas por dia (00, 06, 12, 18) e uma colunavalue.

O problema é que faltam datas no quadro de dados; no exemplo acima, deve haver duas linhas extras entre as linhas 8 e 9, correspondentes às horas6 e12 do dia20100203e também uma linha extra entre as linhas 9 e 10 correspondentes à hora0 do dia20100204.

Do que eu precisaria? Eu gostaria de iterar odate coluna do quadro de dados, verificando se existe todos os dias e que não falta ninguém, e também que há todos os dias as quatro horas (00, 06, 12, 18). Caso algo esteja faltando durante a iteração, deve ser adicionadoexatamente naquele lugar, com os desaparecidosdate etime eNaN como um valor. Para não copiar todo o dataframe novamente, deixe-me colocar os aspectos relevantes que devem aparecer em uma versão final:

...
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
...

Caso você esteja interessado, uma versão mais fácil desse problema foi solicitada aquiAritmética modular em python para iterar um dataframe de pandas e gentilmente respondido pelos usuários @Alexander e @piRSquared. A versão solicitada aqui é mais difícil, envolvendo (suponho) o uso de datetime e timedelta e iterando mais colunas.

Desculpe pelo longo post e muito obrigado.

questionAnswers(2)

yourAnswerToTheQuestion