我有一个二维数组 A:
28 39 52
77 80 66
7 18 24
9 97 68
以及列索引的向量数组 B:
1
0
2
0
如何以 Python 方式,使用基本 Python 或 Numpy,从 A 中选择与 B 中的列索引不对应的元素?
我应该得到这个二维数组,它包含 A 的元素,不对应于存储在 B 中的列索引:
28 52
80 66
7 18
97 68
最佳答案
您可以使用广播和逐行掩码来为每一行选择不包含在数组中的元素:
设置
B = np.array([1, 0, 2, 0])
cols = np.arange(A.shape[1])
现在使用广播创建一个掩码,并索引您的数组。
mask = B[:, None] != cols
A[mask].reshape(-1, 2)
array([[28, 52],
[80, 66],
[ 7, 18],
[97, 68]])
关于python - 从列索引向量中选择二维数组元素的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52571930/