假设我有一些循环数据 [min >= 0, max < 360],
data = np.array([355.9, 2.47 , 30.52, 5.33, 40.22, 340.22])
这些数据的圆形平均值是 9
我想按+- 15度选择平均值周围的数据。因此,所选数据将为new_data = [355.9, 2.47 , 5.33]。所选数据介于[low=9-15, high=9+15] = [354, 24]
我试过的是
def remove_outliers(angles, mean, extend):
high = (mean + extend) - 360 if (mean + extend)>360 else (mean + extend)
low = (mean - extend) + 360 if (mean - extend)<0 else (mean - extend)
angles = angles[angles>=low]
angles = angles[angles<=high]
return angles
high = 24,low = 354但下一部分是错误的
angles = angles[angles>=low] # this is wrong
angles = angles[angles<=high] # this is wrong
remove_outliers(data, 9, 15) # gives empty array
如果平均值高于15或低于345,该函数将起作用extend = 15。
米脂
相关分类