我正在从文本文件中读取一个列表并获取该列表的标准偏差,我想知道如何使值偏离均值一个标准差,仅用作偏离均值的一个标准差。这是我正在使用的代码的一部分:
a=np.genfromtxt('meanvals2.txt').T[1]
b=np.std(a)
c=np.mean(a)
ok=(a>(c-b))*(a<(c+b)) # within 1st deviation
h=a[ok]
print h
此代码仅删除一个标准偏差之外的任何值。我将如何更改它,使这些删除的值与平均值相差 1 个标准差,但保留在数据集中?
例如,如果我的列表是 [1,2,3,4,5,20],则标准差为 7.08,平均值为 5.88。所以偏离平均值的一个标准偏差是 12.96 或 -1.2,所以目前我的代码将排除除此之外的任何数字,因此列表将为 [1,2,3,4,5] 但我希望列表实际读取 [ 1,2,3,4,5,12.96]。我该怎么做