0
给定两个具有相同长度的numpy
数组,我需要从两个数组中删除那些相同的索引元素为零。例如,给定我需要获得从两个数组中删除具有相同索引的零元素
a = [5 9 2 0 1 4 9 8 1]
b = [1 0 3 1 2 4 2 3 2]
即仅在两个阵列过零值所述元件从两个阵列除去阵列
a = [5 9 2 0 1 4 9 0 8 1]
b = [1 0 3 1 2 4 2 0 3 2]
。我试过这种方法
import numpy as np
a = np.random.randint(0, 10, 10)
b = np.random.randint(0, 10, 10)
a_z_idx = [a != 0]
b_z_idx = [b != 0]
ab_z_idx = a_z_idx and b_z_idx
a = a[ab_z_idx]
b = b[ab_z_idx]
但是这也消除了,而不是仅仅取消了在他们两人的零元素那些要么数组中的零元素。
我的实际数组有几百万个元素,所以我追求最有效的方法。
伟大的答案Divakar!你知道这些方法是否明显比其他方法快吗? – Gabriel