python - 用日期和时间格式替换 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')
有什么建议么?
解决方案
推荐阅读
- mysql - MySQL 插入问题:#1136 - 列计数与第 1 行的值计数不匹配
- vue.js - 输入表单不起作用 - 更新 bootstrap-vue 版本
- python - 使用 Pytest,如何检查 API 端点返回的聚合是否正确?
- drools - Drools,无法在决策表操作中访问 HashMap
- android - ContentResolver 查询不返回新插入的视频
- unity3d - 为虚拟现实统一映射现实世界
- mysql - 无法使用我的本地笔记本电脑连接到在 Azure 上的 Linux(ubuntu 16.04)虚拟机上运行的 MySQL
- c++ - 如何从 C++ 中的代码显示文本文件?
- python - Python Scraping:尝试根据用户输入抓取特定数据(电话详细信息)
- javascript - Webpack 开发服务器:如何将 localhost 端口重定向到不同端口的 URL