【发布时间】:2022-06-19 13:20:19
【问题描述】:
我想整合以下数据框,这样我就有了每小时的整合价值。我的采样率大约是 10 秒,但如果需要均匀的时间间隔,我想我可以使用 df.resample()。
Timestamp Power [W]
2022-05-05 06:00:05+02:00 2.0
2022-05-05 06:00:15+02:00 1.2
2022-05-05 06:00:25+02:00 0.3
2022-05-05 06:00:35+02:00 4.3
2022-05-05 06:00:45+02:00 1.1
...
2022-05-06 20:59:19+02:00 1.4
2022-05-06 20:59:29+02:00 2.0
2022-05-06 20:59:39+02:00 4.1
2022-05-06 20:59:49+02:00 1.3
2022-05-06 20:59:59+02:00 0.8
所以我希望能够在几个小时和几天内进行集成,所以我的输出可能如下所示:
Timestamp Energy [Wh]
2022-05-05 07:00:00+02:00 some values
2022-05-05 08:00:00+02:00 .
2022-05-05 09:00:00+02:00 .
2022-05-05 10:00:00+02:00 .
2022-05-05 11:00:00+02:00
...
2022-05-06 20:00:00+02:00
2022-05-06 21:00:00+02:00
(07:00 小时包含 06:00-07:00 之间的值,以此类推...)
和
Timestamp Energy [Wh]
2022-05-05 .
2022-05-06 .
那么我该如何实现呢?我在想我可以使用scipy.integrate,但我的输出看起来有点奇怪。
谢谢。
【问题讨论】:
-
您的采样率似乎太长,无法以有意义的精度实现积分。功率波动很大。也许最简单的方法是按小时分组并计算瓦特值的平均值以获得每小时的瓦特小时数。
-
功率输出只是“虚拟数据”。这样做的主要目的是比较不同模型的总能量输出。为什么采样率会太长?
-
问题是你的幂函数看起来很不稳定。你真的不知道采样点之间的样子。从一个时间戳到下一个时间戳的增量应该明显小于值本身。如果这不可能,您至少应该利用大数定律,并且每小时进行 5 次以上的观察,以获得每小时的能量有意义的数字。
-
我明白你关于不稳定函数的观点,我的例子中的值可能有点不具代表性,但这对于如何解决我的编码问题并不重要。而且我确实有10多个观察;每 10 秒进行一次观察,相当于每小时进行 360 次观察。
-
LOL 我把秒和分钟搞混了。