我的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
答案 0 :(得分:3)
在代码中的某处,您将字符串对象分配给np
变量。这取代了之前以该名称导入的numpy模块,并解释了您看到的奇怪错误消息(可能在代码的非常不同的部分)。
如果您有一致的地方可以收到错误,请尝试在附近打印np
以查看其中包含的值,然后跟踪您在哪里进行错误分配。只需为字符串选择一个不同的变量名称,您应该全部设置。