使用固定间隔(3小时)数据生成连续时间(1小时)数据

时间:2018-07-16 13:31:33

标签: python dataframe

这是我数据的一部分:

Day_Data Hour_Data WIN_D WIN_S TEM RHU PRE_1h 1 0 58 1 22 78 0 1 3 32 1.9 24.6 65 0 1 6 41 3.2 25.6 59 0 1 9 20 0.8 24.8 64 0 1 12 44 1.7 22.7 76 0 1 15 118 0.7 20.2 92 0 1 18 70 2.6 20.2 94 0 1 21 76 3.4 19.9 66 0 2 0 76 3.8 19.4 58 0 2 3 75 5.8 19.4 47 0 2 6 81 5.1 19.5 42 0 2 9 61 3.6 17.4 48 0 2 12 50 0.9 15.8 46 0 2 15 348 1.1 14.5 52 0 2 18 357 1.9 13.5 60 0 2 21 333 1.2 12.4 74 0

而且,我想生成这样的额外数据:

enter image description here

填充值是最后一个值和下一个值的平均值。

我该怎么做? 谢谢!


@jdy,谢谢您的提醒,这就是我所做的:

data['time']='2017'+'-'+'10'+'-'+data['Day_Data'].map(int).map(str)+' 
'+data['Hour_Data'].map(int).map(str)+':'+'00'+':'+'00'
from datetime import datetime 
data.loc[:,'Date']=pd.to_datetime(data['time'])
data=data.drop(['Day_Data','Hour_Data','time'],axis=1)
index = data.set_index(data['Date'])
data=index.resample('1h').mean()

输出:

2017-10-01 00:00:00 58.0    1.0 22.0    78.0    0.0
2017-10-01 01:00:00 NaN NaN NaN NaN NaN
2017-10-01 02:00:00 NaN NaN NaN NaN NaN
2017-10-01 03:00:00 32.0    1.9 24.6    65.0    0.0
2017-10-01 04:00:00 NaN NaN NaN NaN NaN
2017-10-01 05:00:00 NaN NaN NaN NaN NaN
2017-10-01 06:00:00 41.0    3.2 25.6    59.0    0.0
2017-10-01 07:00:00 NaN NaN NaN NaN NaN
2017-10-01 08:00:00 NaN NaN NaN NaN NaN
2017-10-01 09:00:00 20.0    0.8 24.8    64.0    0.0
2017-10-01 10:00:00 NaN NaN NaN NaN NaN
2017-10-01 11:00:00 NaN NaN NaN NaN NaN
2017-10-01 12:00:00 44.0    1.7 22.7    76.0    0.0
2017-10-01 13:00:00 NaN NaN NaN NaN NaN
2017-10-01 14:00:00 NaN NaN NaN NaN NaN
2017-10-01 15:00:00 118.0   0.7 20.2    92.0    0.0
2017-10-01 16:00:00 NaN NaN NaN NaN NaN
2017-10-01 17:00:00 NaN NaN NaN NaN NaN
2017-10-01 18:00:00 70.0    2.6 20.2    94.0    0.0
2017-10-01 19:00:00 NaN NaN NaN NaN NaN
2017-10-01 20:00:00 NaN NaN NaN NaN NaN
2017-10-01 21:00:00 76.0    3.4 19.9    66.0    0.0
2017-10-01 22:00:00 NaN NaN NaN NaN NaN
2017-10-01 23:00:00 NaN NaN NaN NaN NaN
2017-10-02 00:00:00 76.0    3.8 19.4    58.0    0.0
2017-10-02 01:00:00 NaN NaN NaN NaN NaN
2017-10-02 02:00:00 NaN NaN NaN NaN NaN
2017-10-02 03:00:00 75.0    5.8 19.4    47.0    0.0
2017-10-02 04:00:00 NaN NaN NaN NaN NaN
2017-10-02 05:00:00 NaN NaN NaN NaN NaN
2017-10-02 06:00:00 81.0    5.1 19.5    42.0    0.0

但是,我不知道如何通过上一个值和下一个值的平均值来填充NaN。

0 个答案:

没有答案