我有一个名为
temp1
、len(temp1) = 8405999
的列表。当我绘制 temp1 时,它看起来像这样:
我尝试使用
zscore
和 IQR
方法删除异常值,但没有一个达到预期效果。
我想删除导致情节突然下降的点。如何删除导致突然下降的点并绘制更平滑的曲线?
您可以使用一种简单的方法,甚至不需要使用 matplot,如下所示:
min_sudden_drop_value = 10
i, L = 0, len(temp1)
while i < L:
if temp1[i]-temp1[i-1] >= min_sudden_drop_value:
del temp1[i]
L = L- 1
i = i - 1
i += 1
如果您想同时删除突然上涨和突然下跌的数据,请将条件更改为
if temp1[i]-temp1[i-1] >= abs(min_sudden_drop_value):