小编avi*_*Che的帖子

在numpy 2D数组上-如何在N行变化时将每行的最后N个数组元素设置为零

说,我有一个由20个元素组成的2D numpy数组,例如:

arr = np.array([[1, 2, 15, 7],[9, 11, 17, 19],[5, 7, 5, 8],[19, 4, 1, 45],[10, 7, 14, 8]])
Run Code Online (Sandbox Code Playgroud)

和一个额外的数组:

to_zero = np.array([0, 2, 1, 3, 2])
Run Code Online (Sandbox Code Playgroud)

现在,对于每一行,i我想使最后一个to_zero[i]元素等于零,因此最终我们将得到以下结果:

res = np.array([[1, 2, 15, 7],[9, 11, 0, 0],[5, 7, 5, 0],[19, 0, 0, 0],[10, 7, 0, 0]])
Run Code Online (Sandbox Code Playgroud)

我想在很大的数组上执行此操作。有什么方法可以向量化此操作,没有循环,也没有辅助数组吗?

python numpy vectorization

1
推荐指数
1
解决办法
70
查看次数

标签 统计

numpy ×1

python ×1

vectorization ×1