在python中查找一列数据的标准偏差
我希望找到第一段代码输出的标准偏差。它产生七个数字的列表,即:在python中查找一列数据的标准偏差,python,row,multiple-columns,mean,standard-deviation,Python,Row,Multiple Columns,Mean,Standard Deviation,我希望找到第一段代码输出的标准偏差。它产生七个数字的列表,即:[-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,0.040896,0.018690,0.0056206,-9999.0,0.038722,0.018323,-9999.0],[0.03944364,-9999.0,0.037885,-9999.0,-0]] 第二段代码查找列
[-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,-9999.0,0.040896,0.018690,0.0056206,-9999.0,0.038722,0.018323,-9999.0],[0.03944364,-9999.0,0.037885,-9999.0,-0]]
第二段代码查找列的平均值(['0.040170','0.018057','0.004782','0.000000','0.037378','0.014778','0.000000']
)
我开始编写第三段代码来查找标准偏差,但F打印为空白。此外,我认为我没有正确编写函数以平均值减去每个正数,如果我正确理解您的问题,您有一个列表列表,其中每个子列表包含多个浮点数,将非常感谢任何帮助 如果要计算数字列表的标准偏差:
A.append([(float(a) + float(b) + float(c))/3,
(float(d) + float(e) + float(f))/3,
(float(g) + float(h) + float(i))/3,
(float(j) + float(k) + float(l))/3,
(float(m) + float(n) + float(o))/3,
(float(p) + float(q) + float(r))/3,
(float(s) + float(t) + float(u))/3])
def mean(A):
positives = [b for b in A if b >= 0]
E.append((len(positives)) / (len(A))*100)
if positives:
return sum(positives) / len(positives)
else:
return 0
C = map(mean, zip(*A))
print C
#3 sigma check
def sigma(A):
positives = [b for b in A if b >= 0]
if positives:
F.append((positives - C) / len(A))
print F
如果要计算列表列表的i
th“列”中所有数字的标准偏差:
import numpy
numpy.std(myList)
如果要排除列中的负数:
import numpy
numpy.std(zip(*myList)[i])
希望这有帮助如果我正确理解您的问题,您有一个列表列表,其中每个子列表包含多个浮动 如果要计算数字列表的标准偏差:
A.append([(float(a) + float(b) + float(c))/3,
(float(d) + float(e) + float(f))/3,
(float(g) + float(h) + float(i))/3,
(float(j) + float(k) + float(l))/3,
(float(m) + float(n) + float(o))/3,
(float(p) + float(q) + float(r))/3,
(float(s) + float(t) + float(u))/3])
def mean(A):
positives = [b for b in A if b >= 0]
E.append((len(positives)) / (len(A))*100)
if positives:
return sum(positives) / len(positives)
else:
return 0
C = map(mean, zip(*A))
print C
#3 sigma check
def sigma(A):
positives = [b for b in A if b >= 0]
if positives:
F.append((positives - C) / len(A))
print F
如果要计算列表列表的i
th“列”中所有数字的标准偏差:
import numpy
numpy.std(myList)
如果要排除列中的负数:
import numpy
numpy.std(zip(*myList)[i])
希望这有帮助这可能是一个愚蠢的问题,但是你能解释一下
*myList
的语法,或者给我指出该运算符的正确方向吗?我一直在C++的结尾,实际上这是一个很好的问题。它将列表转换为列表元素的序列。检查out@inspectorG4dget,当我使用此语法时,如何排除列中的负数?@inspectorG4dget我遇到了此错误:namererror:name'itertools'未定义
@KJo:import itertools
这可能是一个愚蠢的问题,但您能解释一下*myList
的语法吗,或者为我指出正确的操作方向吗那个接线员?我一直在C++的结尾,实际上这是一个很好的问题。它将列表转换为列表元素的序列。检查out@inspectorG4dget,当我使用此语法时,如何排除列中的负数?@inspectorG4dget我遇到此错误:NameError:name'itertools'未定义
@KJo:导入itertools