姬長信(Redy)

python – 迭代pandas数据帧,检查值并创建其…


好的,我有一个(大)数据帧,如下所示:
         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  

如您所见,数据框具有列日期,每天有四小时的列时间(00,06,12,18)和列值.

问题是数据框中缺少日期,在上面的例子中,第8行和第9行之间应该有两行,对应于20100203日的6和12小时,以及第9行和第10行之间的额外行对应于20100204的第0小时.

我需要什么?我想迭代数据框的日期列,检查每天是否存在并且没有人丢失,并且每天都有四小时(00,06,12,18).如果在迭代期间缺少某些东西,则应该在该位置添加缺少的日期和时间以及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
...

如果你感兴趣,这个问题的简单版本在这里被问到Modular arithmetic in python to iterate a pandas dataframe并且由@Alexander和@piRSquared的用户友好地回答.这里提到的版本是一个更难的版本,涉及(我想)使用datetime和timedelta并迭代更多列.

很抱歉很长的帖子,非常感谢你.