我想比較兩個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