KJo*_*KJo 0 python row mean multiple-columns standard-deviation
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
Run Code Online (Sandbox Code Playgroud)
我正在寻找第一块代码输出的标准偏差。它导致七个数字的列表,即:[[-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, -9999.0], [0.040896, 0.018690, 0.0056206, -9999.0, 0.038722, 0.018323, -9999.0], [0.03944364, -9999.0, 0.037885, 0.014316, -9999.0]]
第二段代码找出列的均值( ['0.040170', '0.018057', '0.004782', '0.000000', '0.037378', '0.014778', '0.000000'])
我开始编写第三块代码来查找标准偏差,但 F 打印出空白。此外,我认为我没有正确编写函数以将每个正数减去平均值,任何帮助都会受到赞赏
如果我正确理解你的问题,你有一个列表列表,其中每个子列表包含多个浮点数。
如果要计算数字列表的标准偏差:
import numpy
numpy.std(myList)
Run Code Online (Sandbox Code Playgroud)
如果要计算i列表列表的第“列”中所有数字的标准偏差:
import numpy
numpy.std(zip(*myList)[i])
Run Code Online (Sandbox Code Playgroud)
如果要排除列中的负数:
import numpy
import itertools
numpy.std([i for i in itertools.izip(*myList)[i] if i>=0])
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
4077 次 |
| 最近记录: |