如何每次更改 2d numpy 数组的不同元素

问题描述

我有一个 numpy 二维数组(矩阵):

[[1,2,3],[4,5,6],[7,8,9]]

我想根据这个向量掩码更改值

[0,1]

因此我想更改

的值
1,6 and 8

以例如

2,9 and 24

向量与矩阵一样长

解决方法

您可以使用 arange 索引行以配合列掩码索引:

import numpy as np

a = np.array([
    [1,2,3],[4,5,6],[7,8,9],])

rows = np.arange(len(a))
columns = [0,1]
values = [2,9,24]

a[rows,columns] = values

输出:

array([[ 2,[ 4,[ 7,24,9]])