2024-09-29 00:21:29 发布
网友
我有一个numpy数组arrayBig
arrayBig
10 5 27 30 34 2 34 23 2 3 2 3 43 12 23 2 24 34 2 34
我有一个numpy数组arraySmall
arraySmall
1 0 0 0 1 1 1 1 0
我想要的是一个numpy数组arrayNew
arrayNew
34 0 0 0 43 12 24 34 0
我知道我的arraySmall的形状是(3,3),位于arrayBig的索引(1 1)。如何使用Numpy获得arrayNew?你知道吗
(3,3)
(1 1)
我recently learned aboutadvanced boolean indexing。我不确定它是否比另一个答案更好,但你可以:
>>> a = np.array([[1,2,3],[4,5,6]]) >>> b = np.array([[1,0],[0,1]]) >>> c = b == 0 >>> d = a[0:b.shape[0],0:b.shape[1]] >>> d[c] = 0 >>> d array([[1, 0], [0, 5]])
>>> import numpy as np >>> arrayBig = np.array([ ... [10, 5, 27, 30, 34], ... [2, 34, 23, 2, 3], ... [2, 3, 43, 12, 23], ... [2, 24, 34, 2, 34], ... ]) >>> arraySmall = np.array([ ... [1, 0, 0], ... [0, 1, 1], ... [1, 1, 0], ... ]) >>> arrayBig[1:4, 1:4] * arraySmall array([[34, 0, 0], [ 0, 43, 12], [24, 34, 0]])
我recently learned aboutadvanced boolean indexing。我不确定它是否比另一个答案更好,但你可以:
相关问题 更多 >
编程相关推荐