从csv文件读取的pandas并填充datetime索引的缺失值

时间:2016-10-09 23:08:10

标签: python pandas

我在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小时。即每次缺少数据时,都应该进行回填。

1 个答案:

答案 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)值。