0

我的 Python 代码一直工作到昨天,现在有一些浮动问题,我一直未能成功追踪。我正在尝试使用 np.mean 计算列表的平均值,但我收到一条错误消息:AttributeError: 'str' object has no attribute 'mean'

但是,如果我打印出有问题的平均计算:

volumetric_power = [x/y for x,y in zip(mcnp_calculated_power,mcnp_vol)]
print volumetric_power
normalized_power = [x/np.mean(volumetric_power) for x in volumetric_power]

我得到的输出是预期的浮点数列表(我是这样计算的):

[3.3999658877707657, 3.4055375518790156, 3.3929180596302109, 3.4015594541910334, 3.415077891066217, ... ]

现在试图绕过这个我最终只是手动计算了平均值sum(volumetric_power)/len(volumetric_power),我能够克服错误。但是后来在文件中我遇到了 np.loadtxt 错误(此处的相关错误):

get_radial_data(filename,zirc_mesh)
File "./Bicnp.py", line 313, in get_radial_data
data = np.loadtxt(cwd+'/grope.o', usecols=(1,2,3), skiprows=12)
AttributeError: 'str' object has no attribute 'loadtxt'

毕竟,我认为错误是一些 Python 库类型错误(使用无知的术语),我不确定在哪里看。昨天所有这些工作都很好,我今天做的一件事是根据http://wiki.centos.org/AdditionalResources/Repositories/SCL从 centos-release-scl 添加 python27 和 python33 。

谢谢您的帮助。

更新:我忘了提到这是运行 Python 2.6.6

4

1 回答 1

3

在您的代码中的某处,您正在为np变量分配一个字符串对象。这替换了您之前以该名称导入的 numpy 模块,并解释了您看到的奇怪错误消息(可能在代码的非常不同的部分)。

如果您有一个一致的地方出现错误,请尝试np在附近打印以查看它的价值,然后追踪您在哪里进行错误分配。只需为字符串选择一个不同的变量名,就可以了。

于 2014-10-22T22:49:47.147 回答