我有一个带有2列的pandas数据帧。第一列的数据类型为timestamp,第二列的数据为value,数据类型为int。
df1 frame
1st column 2nd column
2019-06-15 00:00:00 520
2019-06-15 02:00:00 263
2019-06-15 04:00:00 756
2019-06-16 14:00:00 264
2019-06-16 17:00:00 1254
我想要这样的输出
1st column 2nd column
2019-06-15 00:00:00 756
2019-06-15 01:00:00 0
2019-06-15 02:00:00 263
2019-06-15 03:00:00 0
2019-06-15 04:00:00 756
...
2019-06-16 00:00:00 0
2019-06-16 01:00:00 0
...
2019-06-16 14:00:00 264
2019-06-16 15:00:00 0
2019-06-16 16:00:00 0
2019-06-16 01:00:00 1254
...
2016-06-16 23:00:00 0
2019-06-15 01:00:00 0
这就是我想将缺少的小时数填充为零。
答案 0 :(得分:2)
将resample
与fillna
一起使用:
df.set_index('1st column').resample('H').first().fillna(0)
2nd column
1st column
2019-06-15 00:00:00 520.0
2019-06-15 01:00:00 0.0
2019-06-15 02:00:00 263.0
2019-06-15 03:00:00 0.0
2019-06-15 04:00:00 756.0
2019-06-15 05:00:00 0.0
2019-06-15 06:00:00 0.0
2019-06-15 07:00:00 0.0
2019-06-15 08:00:00 0.0
2019-06-15 09:00:00 0.0
2019-06-15 10:00:00 0.0
2019-06-15 11:00:00 0.0
2019-06-15 12:00:00 0.0
2019-06-15 13:00:00 0.0
2019-06-15 14:00:00 0.0
2019-06-15 15:00:00 0.0
2019-06-15 16:00:00 0.0
2019-06-15 17:00:00 0.0
2019-06-15 18:00:00 0.0
2019-06-15 19:00:00 0.0
2019-06-15 20:00:00 0.0
2019-06-15 21:00:00 0.0
2019-06-15 22:00:00 0.0
2019-06-15 23:00:00 0.0
2019-06-16 00:00:00 0.0
2019-06-16 01:00:00 0.0
2019-06-16 02:00:00 0.0
2019-06-16 03:00:00 0.0
2019-06-16 04:00:00 0.0
2019-06-16 05:00:00 0.0
2019-06-16 06:00:00 0.0
2019-06-16 07:00:00 0.0
2019-06-16 08:00:00 0.0
2019-06-16 09:00:00 0.0
2019-06-16 10:00:00 0.0
2019-06-16 11:00:00 0.0
2019-06-16 12:00:00 0.0
2019-06-16 13:00:00 0.0
2019-06-16 14:00:00 264.0
2019-06-16 15:00:00 0.0
2019-06-16 16:00:00 0.0
2019-06-16 17:00:00 1254.0