我有一个数组定义为 -
import numpy as np
A = np.recarray((3,),dtype=[('x',float), ('y', float), ('z',float)])
加上另一个从 CSV 文件中读取的数组 B -
>>> print B
[(7.0, 0.0, 7.0) (16.0, 0.0, 1.0)]
当我尝试将元素添加到数组时,如下所示 -
for i in range(B.size):
if(B[i][0] != 0.):
A.append((0.,B[i][1],B[i][2]))
if(B[i][1] != 0.):
A.append((B[i][0],0.,B[i][2]))
if(B[i][2] != 0.):
A.append((B[i][0],B[i][1],0.))
我收到如下错误 -
File "/usr/lib/python2.7/dist-packages/numpy/core/records.py", line 416, in __getattribute__
raise AttributeError, "record array has no attribute %s" % attr
AttributeError: record array has no attribute append
我无法理解这个字符串属性 (%s) 在哪里出现?
有人可以帮忙吗?
更新:
我将代码更改为np.append(A,(0.,B[i][1],B[i][2]))
,但是我收到另一个错误 -TypeError: invalid type promotion