#!/usr/local/bin/python2.7
import math
lista = [2231, 2240, 2236, 2238, 7]
newlist = []
mean = 0
newmean = 0
variance = 0
for i in lista:
mean += i
mean = mean/float(len(lista))
for i in lista:
variance += (i*i)
variance = variance/float(len(lista))
variance = math.sqrt(variance)
minval = variance - mean
maxval = variance + mean
for i in lista:
if i >= minval and i <= maxval:
newlist.append(i)
print newlist
for i in newlist:
newmean += i
newmean = newmean/float(len(newlist))
print newmean
#!/usr/local/bin/python2.7
ACCEPTABLE_DIFF = 100
arr = [2231, 2240, 2236, 2238, 7]
for index in range(1,len(arr)):
if (abs(arr[index] - arr[index-1]) > ACCEPTABLE_DIFF):
del arr[index]
print arr
另一种方法是使用差异百分比:
#!/usr/local/bin/python2.7
ACCEPTABLE_DIFF_PERC = 5
arr = [2231, 2240, 2236, 2238, 7]
for index in range(1,len(arr)):
if (abs(arr[index] - arr[index-1]) > (arr[index-1]*ACCEPTABLE_DIFF_PERC/100)):
del arr[index]
print arr
使用标准差:
如果希望手动输入“minval”和“maxval”,可以跳过大部分代码。你知道吗
我假设你可以定义两个读数之间可接受的差值。如果你的值可以根据读数从最小值/最大值跳出来,那么平均值实际上对你没有帮助。你知道吗
下面是python中的示例代码,说明了这一点:
另一种方法是使用差异百分比:
相关问题 更多 >
编程相关推荐