我想比较两个numpy数组的元素,并删除其中一个数组的元素,如果坐标之间的无核距离小于1并且时间相同。 data_CD4和data_CD8是数组。数组的元素是3D坐标列表,时间为第四元素(numpy.array([[x,y,z,time],[x,y,z,time] .....])。是截止,这里1Python:比较两个数组的元素
for i in data_CD8:
for m in data_CD4:
if distance.euclidean(tuple(i[:3]),tuple(m[:3])) < co and i[3]==m[3] :
data_CD8=np.delete(data_CD8, i, 0)
是否有快速的方法来做到这一点?第一个数组有5000元,第二2000,因此它tooks太多时间。
这应该是'[3]','不[3:]'。 – trincot
如果你想要你也可以使用numpy来进行比较,请查看:http://stackoverflow.com/questions/10580676/comparing-two-numpy-arrays-for-equality-element-wise – LethalProgrammer
正如@trincot指出的那样它必须是'distance.euclidean(tuple(i [:3]),tuple(m [:3]))''。你能证实吗? – Divakar