如何从列表中删除不同的值

问题描述

我正在从一些图像中提取一些数据以获取图表,但提取的一些值是错误的(发散值),有没有办法在不改变列表长度的情况下删除它们。我试图计算平均值并将其分配给这些值,但显然平均值也太大了。

enter image description here

解决方法

假设您的 datanp.array

min_value = 12 # The minimal value of your data,below it the points will be considered to be diverging. Change it as you want.
good_data = data[data > min_value] # Using advanced indexing
good_mean = np.mean(good_data)

new_data = np.where(data > min_value,data,good_mean)