如何每次更改二维 numpy 数组的不同元素
how to change a different element of a 2d numpy array each time
我有一个 numpy 二维数组(矩阵):
[[1,2,3],
[4,5,6],
[7,8,9]]
我想根据这个矢量掩码更改值
[0,2,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, 2, 1]
values = [2, 9, 24]
a[rows, columns] = values
输出:
array([[ 2, 2, 3],
[ 4, 5, 9],
[ 7, 24, 9]])
我有一个 numpy 二维数组(矩阵):
[[1,2,3],
[4,5,6],
[7,8,9]]
我想根据这个矢量掩码更改值
[0,2,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, 2, 1]
values = [2, 9, 24]
a[rows, columns] = values
输出:
array([[ 2, 2, 3],
[ 4, 5, 9],
[ 7, 24, 9]])