【问题标题】:Update 2d numpy array through a slice object [duplicate]通过切片对象更新 2d numpy 数组
【发布时间】:2020-12-02 06:00:04
【问题描述】:

所以我对 numpy 和一般编程还很陌生,我想知道是否有任何方法可以通过另一个作为切片的数组来更改 numpy 数组,例如我们有:

>>> import numpy as np
>>> a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]])
>>> a
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10],
       [11, 12, 13, 14, 15]])

现在我想将包括“8”在内的所有值乘以 2,所以我取一个切片 b 并将其更改为:

>>> y, x = 1, 2
>>> b = a[y-1:y+2, x-1:x+2]
>>> for i in range(len(b)):
        for x in range(len(b[i])):
            b[i][x] *= 2
>>> b
    array([[ 4,  6,  8],
           [14, 16, 18],
           [24, 26, 28]])

现在我想更改数组 a 中的这些值,我该怎么做?

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    你试过了吗:

     a[y-1:y+2, x-1:x+2] = a[y-1:y+2, x-1:x+2]*2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多