【发布时间】:2014-03-05 12:23:01
【问题描述】:
我需要一个文件中 3 个向量的平均值。这是文件:
7.308017466911098700e-01 -5.497365223199360800e-01 -1.324069582379517300e-01
7.142889846599955700e-01 -5.300077858149733200e-01 -1.214793135300424200e-01
7.142889846599955700e-01 -5.300077858149733200e-01 -1.214793135300424200e-01
7.142889846599955700e-01 -5.300077858149733200e-01 -1.214793135300424200e-01
6.835045107440532700e-01 -4.980522174917749700e-01 -1.158373119954510000e-01
6.835045107440532700e-01 -4.980522174917749700e-01 -1.158373119954510000e-01
6.835045107440532700e-01 -4.980522174917749700e-01 -1.158373119954510000e-01
6.835045107440532700e-01 -4.980522174917749700e-01 -1.158373119954510000e-01
7.440304087049756100e-01 -5.568396579851897500e-01 -1.014631831749943100e-01
7.021751417881535500e-01 -6.350121671924353600e-01 -5.052342816781073300e-02
如您所见,第二列仅包含负数。当我尝试使用代码进行平均时:
with open(myfile) as fin:
for line in fin:
vec.append(float(line.split()[1]))
mean1=np.mean(vec)
print mean1
我得到一个正数!
numpy.mean 有什么问题吗?
【问题讨论】:
-
我得到一个负数。你确定
vec是空的吗? -
它按预期对我有用,打印
-0.532382057491。您的问题可能在代码中的其他地方。 -
谢谢! vec 不是空的...
-
旁白:既然您使用的是
numpy,您应该使用它的阅读工具,例如np.loadtxt和np.genfromtxt。既简单又快捷。