我在csv文件中有数据,显示为:
DateTime Temp
10/1/2016 0:00 20.35491156
10/1/2016 1:00 19.75320845
10/1/2016 4:00 17.62411292
10/1/2016 5:00 18.30190001
10/1/2016 6:00 19.37101638
我正在将此文件读入csv文件中:
import numpy as np
import pandas as pd
data = pd.read_csv(r'C:\Curve.csv', index_col='DateTime')
newIndex = pd.date_range(np.min(data.index), np.max(data.index),freq='1H')
data.reindex(newIndex)
我的目标是用19.75320845回填缺少的第2和第3小时。即每次缺少数据时,都应该进行回填。
答案 0 :(得分:4)
import pandas as pd
data = pd.read_csv(r'Curve.csv', index_col='DateTime', parse_dates=['DateTime'])
data = data.asfreq('1H', method='ffill')
产量
Temp
DateTime
2016-10-01 00:00:00 20.354912
2016-10-01 01:00:00 19.753208
2016-10-01 02:00:00 19.753208
2016-10-01 03:00:00 19.753208
2016-10-01 04:00:00 17.624113
2016-10-01 05:00:00 18.301900
2016-10-01 06:00:00 19.371016
method='ffill'
告诉asfreq
使用“转发”缺失值
最后有效(非NaN)值。