Python 3.x 如何在pandas中使用正确的日期格式向索引中添加缺少的日期?
我有一个csv文件,如下所示Python 3.x 如何在pandas中使用正确的日期格式向索引中添加缺少的日期?,python-3.x,pandas,Python 3.x,Pandas,我有一个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.
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
我试过做这里提到的类似的事情
但这似乎不起作用。我仍然有一些缺少的日期。填充缺少的日期并将
0
分配给其关联值的正确方法是什么?您只需将索引转换为普通日期即可使自己的解决方案起作用:
df = pd.read_csv(file, parse_dates=['date'])
df.set_index('date', inplace=True)
df.index = df.index.date
d2 = pd.DataFrame(index=pd.date_range('2018-02-12','2018-02-20'))
print(df.join(d2, how='right').fillna(0))
它应该给
2018-02-12 327.0 Pur 10.11.100.1 WSE 8.0 23.0 6.50 0.0
2018-02-12 328.0 Bol 10.11.100.1 DEF 8.0 23.0 11.41 0.0
2018-02-13 333.0 Cal 10.11.100.1 WSE 9.0 23.0 10.50 0.0
2018-02-13 334.0 Moe 10.11.100.1 CFG 9.0 23.0 21.50 0.0
2018-02-14 0.0 0 0 0 0.0 0.0 0.00 0.0
2018-02-15 436.0 Cad 10.11.100.1 MOD 5.0 24.0 3.17 0.0
2018-02-15 437.0 Ric 10.11.100.1 DEF 7.0 24.0 9.50 0.0
2018-02-16 0.0 0 0 0 0.0 0.0 0.00 0.0
2018-02-17 877.0 Pit 10.4.100.1 CFD 6.0 3.0 37.23 0.0
2018-02-18 0.0 0 0 0 0.0 0.0 0.00 0.0
2018-02-19 0.0 0 0 0 0.0 0.0 0.00 0.0
2018-02-20 878.0 Bol 10.4.100.1 WSE 9.0 3.0 55.42 0.0
您缺少日期,但目标df索引格式为“%Y-%m-%d%H:%m:%S.%f”(日期时间)?日期间隔不均,且给出的精度为微秒。这里到底遗漏了哪些日期?您可以发布数据片段的预期日期索引吗?@WolfgangK
2018-02-14
,2018-02-16
,2018-02-18
和2018-02-19
,如数据所示snippet@SouvikRay例如,我们有2018-02-15 11:27:20.994247+00:00
,那么第二天的确切格式应该是什么呢2018-02-16
?或者我们可以抛弃从小时到小时的一切吗?@WolfgangK抛弃从小时到小时的一切
2018-02-12 327.0 Pur 10.11.100.1 WSE 8.0 23.0 6.50 0.0
2018-02-12 328.0 Bol 10.11.100.1 DEF 8.0 23.0 11.41 0.0
2018-02-13 333.0 Cal 10.11.100.1 WSE 9.0 23.0 10.50 0.0
2018-02-13 334.0 Moe 10.11.100.1 CFG 9.0 23.0 21.50 0.0
2018-02-14 0.0 0 0 0 0.0 0.0 0.00 0.0
2018-02-15 436.0 Cad 10.11.100.1 MOD 5.0 24.0 3.17 0.0
2018-02-15 437.0 Ric 10.11.100.1 DEF 7.0 24.0 9.50 0.0
2018-02-16 0.0 0 0 0 0.0 0.0 0.00 0.0
2018-02-17 877.0 Pit 10.4.100.1 CFD 6.0 3.0 37.23 0.0
2018-02-18 0.0 0 0 0 0.0 0.0 0.00 0.0
2018-02-19 0.0 0 0 0 0.0 0.0 0.00 0.0
2018-02-20 878.0 Bol 10.4.100.1 WSE 9.0 3.0 55.42 0.0