我在这个问题上卡住了,因为我不太确定如何问这个问题,所以这是我最好的尝试!
我有一个元组列表,它表示在特定时间戳的温度阅读。
[
(datetime.datetime(2022, 11, 30, 8, 25, 10, 261853), 19.82),
(datetime.datetime(2022, 11, 30, 8, 27, 22, 479093), 20.01),
(datetime.datetime(2022, 11, 30, 8, 27, 36, 984757), 19.96),
(datetime.datetime(2022, 11, 30, 8, 36, 46, 651432), 21.25),
(datetime.datetime(2022, 11, 30, 8, 41, 27, 230438), 21.42),
...
(datetime.datetime(2022, 11, 30, 11, 57, 4, 689363), 17.8)
]
正如您所看到的,记录之间的增量到处都是-有些相隔几秒钟,而有些相隔几分钟。
从这些数据中,我想创建一个新的元组列表(或其他数据结构--我很乐意使用NumPy或Pandas),其中时间戳值正好是每5分钟一次,而温度阅读是在给定数据 * 是 * 可用的情况下,按照该时间戳的假定值计算的。
[
(datetime.datetime(2022, 11, 30, 8, 25, 0, 0), ??),
(datetime.datetime(2022, 11, 30, 8, 30, 0, 0), ??),
(datetime.datetime(2022, 11, 30, 8, 35, 0, 0), ??),
(datetime.datetime(2022, 11, 30, 8, 40, 0, 0), ??),
...
(datetime.datetime(2022, 11, 30, 11, 30, 0, 0), ??),
]
我的最终目标是能够使用PIL而不是MatPlotLib来绘制这些数据,因为我使用的是非常受限的硬件。我希望在给定的时间段内绘制一条平滑的温度线,因为我手头的数据并不完美。
1条答案
按热度按时间sczxawaw1#
假设
lst
是输入列表,可以使用:如果确实需要元组列表:
输出量:
对于日期时间类型:
输出量:
重新采样之前/之后: