【发布时间】:2018-04-19 15:46:16
【问题描述】:
我有一个如下所示的 csv 文件
327,2018-02-12 23:30:18.255810+00:00,Pur,10.11.100.1,WSE,8.0,23.0,6.5,0.0,,,,,,,,
328,2018-02-12 23:30:22.718605+00:00,Bol,10.11.100.1,DEF,8.0,23.0,11.41,0.0,,,,,,,,
333,2018-02-13 00:00:17.886487+00:00,Cal,10.11.100.1,WSE,9.0,23.0,10.5,0.0,,,,,,,,
334,2018-02-13 00:00:21.948083+00:00,Moe,10.11.100.1,CFG,9.0,23.0,21.5,0.0,,,,,,,,
436,2018-02-15 11:00:11.137740+00:00,Cad,10.11.100.1,MOD,5.0,24.0,3.17,0.0,,,,,,,,
437,2018-02-15 11:27:20.994247+00:00,Ric,10.11.100.1,DEF,7.0,24.0,9.5,0.0,,,,,,,,
877,2018-02-17 01:34:10.662735+00:00,Pit,10.4.100.1,CFD,6.0,3.0,37.23,0.0,,,,,,,,
878,2018-02-20 00:04:39.855528+00:00,Bol,10.4.100.1,WSE,9.0,3.0,55.42,0.0,,,,,,,,
日期范围是2018-02-02 到2018-04-13
我已经尝试过像这里提到的那样做这样的事情Pandas Reindex to Fill Missing Dates, or Better Method to Fill?
df = pd.read_csv(file, parse_dates=["date"])
df.set_index("date", inplace=True)
df.index = pd.to_datetime(df.index,format='%Y-%m-%d %H:%M:%S.%f')
d2 = pd.DataFrame(index=pd.date_range('2018-02-02','2018-04-13'))
print(df.join(d2,how='right'))
但这似乎不起作用。我仍然缺少一些日期。填写缺少的日期并将0 分配给其关联值的正确方法是什么?
【问题讨论】:
-
您缺少 date ,但目标 df 索引格式是 '%Y-%m-%d %H:%M:%S.%f'(datetime)?
-
日期间隔不均匀,并以微秒的精度给出。这里究竟缺少哪些日期?您可以发布数据 sn-p 的预期日期索引吗?
-
@WolfgangK
2018-02-14,2018-02-16,2018-02-18和2018-02-19如数据 sn-p 所示 -
@SouvikRay 例如我们有
2018-02-15 11:27:20.994247+00:00,那么第二天2018-02-16的确切格式应该是什么?或者我们可以从几个小时内丢弃所有内容吗? -
@WolfgangK 丢弃从小时到以下的所有内容
标签: python-3.x pandas