填充时间序列数据不一致的有效方法?

时间:2019-07-29 13:18:09

标签: python pandas datetime

我正在处理较大的时间序列数据,并且出现不一致的情况,例如丢失的日期,或者甚至丢失一个小时或一段时间的数据。这是5年的车辆拥堵记录,从2012-10-02 09:00:002017-05-17 23:00:00,其格式为yyyy-mm-dd HH:MM:SS

在这些时间戳之间(共33750行),缺少几行。例如,2014年7月的某些日期缺少数据,8月2日,02:00到23:00缺少数据,依此类推。从2014-08-08 02:00开始到2015-06-10 01:00,整个数据丢失。考虑到数据框中的所有功能,我希望填补这些不一致之处。一共有15列,代表33750行。

print(main_data.columns)
Index(['date_time', 'is_holiday', 'air_pollution_index', 'humidity',
       'wind_speed', 'wind_direction', 'visibility_in_miles', 'dew_point',
       'temperature', 'rain_p_h', 'snow_p_h', 'clouds_all', 'weather_type',
       'weather_description', 'traffic_volume'],
       dtype='object')

date_time            air_pollution_index    humidity ... weather_type
2014-07-01 20:00:00  51                     25           clear             
2014-07-01 21:00:00  25                     54           clear
2014-07-01 22:00:00  20                     41           cloudy
2014-07-01 23:00:00  20                     52           fog
2014-07-04 00:00:00  18                     15           rain
2014-07-04 01:00:00  18                     56           clear
2014-07-04 06:00:00  21                     20           rain
.                                           
.
.
2014-08-08 02:00:00  10                     25           cloudy
2015-06-10 01:00:00  15                     65           clear
2015-06-10 02:00:00  54                     54           clear
2015-06-10 03:00:00  24                     84           clear

这些只是上面时间戳中的少数不一致性(也不能显示每一列)。我想特别解决2014-08-08至2015-06-10之间的小时记录缺失数据。我知道resample,但我相信它会干扰df的整个结构,还会手动设计丢失的时间戳,然后再设计每个功能,但这将非常耗时且昂贵。熊猫是否包含实用程序,可以在不影响现有行的情况下填写缺失的行?

0 个答案:

没有答案