我是一个numpy的新手,但我认为你不应该迭代numpy数组,因为这违背了numpy的目的。
我试图在numpy数组上执行逐元素操作,但显然我不理解语法:
代码:
for line in fidNNC:
temp = line.strip().split()
temp.insert(0,0)
CC.append(temp[0:7])
fidNNC.close()
NNC = np.array(CC)
del(CC)
inds = np.arange(len(NNC))[ NNC[:,4]-1 == NNC[:,1] ]
NNCX = NNC[inds,:]
inds = np.arange(len(NNC))[ NNC[:,5]-1 == NNC[:,2] ]
NNCY = NNC[inds,:]
文件 fidNNC
包含了约一百万行和十列整数。
错误信息:
inds = np.arange(len(NNC))[ NNC[:,4]-1 == NNC[:,1] ]
TypeError: unsupported operand type(s) for -: 'numpy.ndarray' and 'int'
如何在不迭代的情况下从NNC[:,4]
和NNC[:,5]
中的每个元素中减去1?
提前感谢,
Daniel