【发布时间】:2021-12-26 01:35:27
【问题描述】:
我在 pandas 数据框中有大量时间序列传感器数据。对于 876 个传感器,数据分辨率为 1 个月内每 15 分钟一次观测。
在大约 50% 的观察结果中,数据具有一些日常季节性和单个传感器的一些错误测量结果。
我想去掉季节性。
df.diff(periods=96)
这不起作用,因为我在 2 天(实际测量错误的那天和之后的第二天)有一个异常值。
因此,我编写了这个 sn-p 代码,它做了它应该做的并且工作正常:
for index in df.index:
for column in df.columns:
df[column][index] = df[column][index] - (
df[column][df.index % 96 == index % 96]).mean()
问题是这非常慢。 有没有办法用 pandas 函数更快地实现同样的事情?
【问题讨论】:
-
请通过分享
df的样本和代码块内的预期输出来提供minimal reproducible example,以便我们重现您的问题并为您提供帮助。
标签: python pandas dataframe time-series