我有两个随机索引生成器,范围从0到3

idx_1 = np.random.choice(4, 2, replace=False)
idx_2 = np.setdiff1d(range(4), idx_1)


我有一个3D numpy数组example_array,由将4个矩阵堆叠在一起和2个函数(例如func1和func2)组成。

我想做类似的事情

example_array[idx1[0]] = func1(example_array[idx1[0]])
example_array[idx1[1]] = func1(example_array[idx1[1]])
example_array[idx2[0]] = func2(example_array[idx2[0]])
example_array[idx2[1]] = func2(example_array[idx1[0]])


在没有像上面那样明确编写它们的情况下,这样做的快速方法是什么?

最佳答案

如何对func1()func2()进行矢量化处理

example_array[idx1] = func1(example_array[idx1])
example_array[idx2] = func2(example_array[idx2])

关于python - Numpy将函数应用于矩阵的选定索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43980258/

10-10 23:05