首页 > 解决方案 > 用日期和时间格式替换 NaN

问题描述

我正在使用以下数据框。

    Date    Light (umols)   Time_difference
0   2018-01-12 07:16:52 2.5 NaT
1   2018-01-12 07:19:52 4.9 0 days 00:03:00
2   2018-01-12 07:22:52 4.9 0 days 00:03:00
3   2018-01-12 07:25:52 7.4 0 days 00:03:00
4   2018-01-12 07:28:50 9.9 0 days 00:02:58
... ... ... ...
6252    2018-12-18 17:54:24 12.2    0 days 00:03:00
6253    2018-12-18 17:57:24 7.6 0 days 00:03:00
6254    2018-12-18 18:00:24 4.9 0 days 00:03:00
6255    2018-12-18 18:03:24 2.5 0 days 00:03:00
6256    2018-12-18 18:06:24 0.2 0 days 00:03:00

    Date    Light (umols)   Time_difference
0   2019-01-10 00:00:00 500.4   NaT
1   2019-01-10 00:00:01 451.2   0 days 00:00:01
2   2019-01-10 00:00:02 343.7   0 days 00:00:01
3   2019-01-10 00:00:03 354.5   0 days 00:00:01
4   2019-01-10 00:00:04 176.4   0 days 00:00:00
... ... ... ...
81264   2021-02-22 23:59:55 937.7   0 days 00:00:00
81265   2021-02-22 23:59:56 634.4   0 days 00:00:00
81266   2021-02-22 23:59:57 574.3   0 days 00:00:00
81267   2021-02-22 23:59:58 598.9   0 days 00:00:00
81268   2021-02-22 23:59:59 676.9   0 days 00:00:00

我想计算哪里有差距,他们有多长,有多少。这个想法是在一天中每 3 分钟有一个一致的时间线,任何需要标记的时间线都需要标记,然后将两个数据帧合并在一起。在它们的第一行中都有一些讨厌的 NaT,我想用“0 days 00:00:00”之类的内容替换每个 NaT。我尝试编写以下代码但收效甚微:

better = clean['Date'] == '2018-01-12 07:16:52'
clean.loc[better, 'Time_difference'] = clean.loc[clean, 'Time_difference'].replace('NaT', '0 days 00:00:00')

有什么建议么?

标签: pythonpandasdatetimenantimedelta

解决方案


推荐阅读