我是numpy的新手,但我的想法是你不应该在numpy数组上迭代,因为这违背了numpy的目的。在numpy数组中的每个元素的简单操作
我想一个numpy的阵列上执行的elementwise操作,但我不明白apparantly语法:
代码:
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'
如何减去1从每个和NNC[:,4]
每一个元素和NNC[:,5]
不反复?
由于提前,
丹尼尔
啊,我应该仔细阅读这个问题/答案,看起来类似于我的问题。 NNC.dtype = | S3 – dansolhe
我在再次查看你的代码后猜测我删除了评论并添加了一个答案。 –