如何在熊猫中使用正确的日期格式将缺失的日期添加到索引中?

苏维克·雷

我有一个如下所示的 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-022018-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给其关联值的正确方法是什么?

沃尔夫冈·K

您只需要将索引转换为普通日期即可使您自己的解决方案起作用:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在熊猫中添加缺失的日期

将缺失的日期添加到熊猫数据框

将缺失的日期添加到dt系列的Multiindex中

熊猫将时间列添加到日期索引

如何在 rust 中使用 std::time 将秒数添加到当前日期?

如何在SQL中使用某些预定义条件将数字添加到日期列?

如何在R中使用reporteR将日期添加到docx文档?

Pandas:将缺失的日期添加到当前日期

如何使用熊猫根据日期列和天数列将行添加到数据框

如何自动将日期和时间添加到数据框索引中?

如何在月底将日期添加到DateTime?

如何在熊猫中使用条件格式创建日期列

如何将新的日期格式添加到Sitecore WebForms for营销商(WFFM)日期选择器中?

如何根据日期和两列的组合将缺失的行添加到pandas DataFrame?

将缺失的数据添加到按日期分组的数据框中

如何在angular2中将x数添加到当前日期

如何在使用日期时手动将中断添加到ggplot2?

熊猫:如果日期时间索引中的日期不同,则将一列的值添加到另一列

根据熊猫的状况将年添加到日期列

以 yymm 格式将月份添加到日期

如何将天数添加到熊猫日期时间直到满足 x 天?

如何将1年添加到开始日期以获取JavaScript中的结束日期

如何通过ng-model将今天的日期添加到我的日期输入中?

将索引添加到 MySql 中的日期字符串字段

如何将当前时间添加到 24 小时格式的日期

将日期时间格式添加到Matlab中的单元格数组

尝试将 ISO 8601 持续时间格式转换为在 bash 中添加到日期

如何将值添加到缺失值中

如何将日期/时间从 OData 服务正确添加到 UI?