【问题标题】:how to change a different element of a 2d numpy array each time如何每次更改 2d numpy 数组的不同元素
【发布时间】:2021-03-05 17:14:28
【问题描述】:

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

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

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

[0,2,1]

因此我想更改的值

1, 6 and 8

例如

2, 9 and 24

向量和矩阵一样长

【问题讨论】:

    标签: python arrays numpy numpy-ndarray numpy-slicing


    【解决方案1】:

    您可以使用 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]])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 2023-01-07
      • 2014-10-17
      • 2019-03-03
      • 1970-01-01
      相关资源
      最近更新 更多