我正在从文本文件中读取列表并获取此列表的标准偏差,我想知道如何使值远离一个标准偏差只是将其用作与平均值相差一个标准差的平均值。以下是我正在使用的代码的一部分:如果列表的值超过某个值,则更改列表的值
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。我会怎么做这
你的代码更完整的版本可能会有所帮助。什么是h? –
对不起,我错过了一行,现在编辑了它,我的代码长达几百行,所以我并不想真正包括它,但我希望其中包含了足够的内容 – astrochris
因此h是新的输出列表 – astrochris