【发布时间】:2020-11-17 03:37:42
【问题描述】:
df 包含带有 NaN 的索引(故意)。 它包含许多 5 分钟邮票的每日范围,但有时这些范围内会出现漏洞。
有没有办法获取最早时间戳(= 一天中最早的时间戳)和最晚时间(= 一天中最晚的时间戳)之间缺失的时间戳?
我的意思是,例如,我的时间序列可以从每天 4:35 开始,到 23:30 结束,但有时甚至一天的开头或结尾都可能丢失。 (因为这是一天中最早的时间值和该索引上“曾经”的最新时间值,有没有办法用秒来做到这一点,以便它保持动态?)
Time Vals
2019-06-17 08:45:00 NaN
2019-06-17 08:50:00 NaN
2019-06-17 08:55:00 NaN
2019-06-17 09:00:00 NaN
2019-06-17 09:05:00 NaN
2019-06-17 09:10:00 NaN
2019-06-17 09:15:00 NaN
2019-06-17 09:20:00 NaN
2019-06-17 09:25:00 NaN
2019-06-17 09:30:00 NaN
2019-06-17 09:35:00 NaN
2019-06-17 09:40:00 NaN
2019-06-17 09:45:00 NaN
2019-06-17 09:50:00 NaN
2019-06-17 09:55:00 NaN
2019-06-17 10:00:00 NaN
2019-06-17 10:05:00 NaN
2019-06-17 10:10:00 NaN
2019-06-17 10:15:00 NaN
2019-06-17 10:20:00 NaN
Name: Vals, dtype: float64
ix = pd.to_datetime(pd.Index("2019-06-17 08:45:00","2019-06-17 08:50:00","2019-06-17 08:55:00","2019-06-17 09:00:00","2019-06-17 09:05:00","2019-06-17 09:10:00","2019-06-17 09:15:00","2019-06-17 09:20:00","2019-06-17 09:25:00","2019-06-17 09:30:00","2019-06-17 09:35:00","2019-06-17 09:40:00","2019-06-17 09:45:00","2019-06-17 09:50:00","2019-06-17 09:55:00","2019-06-17 10:00:00","2019-06-17 10:05:00","2019-06-17 10:10:00","2019-06-17 10:15:00","2019-06-17 10:20:00")
(最后它需要再次成为熊猫日期时间索引)
编辑:(避免误解)
上面的索引实际上由 数百万天组成,其中一些在它们开始和结束的“范围”之间存在一些漏洞。这些开始和结束之间的时间戳漏洞需要添加(而范围之外的时间应该不添加)。 有没有一种方法可以有效地做到这一点,而无需手动为每个范围执行此操作?
可以获取最早的白天(例如 04:35)和最晚的时间(例如 22:45),然后每天填写这些范围。 但是如何在数百万天的时间内以有效的方式做到这一点?
【问题讨论】:
标签: python pandas datetime time interpolation