代码之家  ›  专栏  ›  技术社区  ›  Infra Red Spectrum

如何在2d numpy数组中设置值?

  •  0
  • Infra Red Spectrum  · 技术社区  · 6 年前

    我正在使用一个2-d numpy阵列,它看起来像这样:

    array([[[0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        ..., 
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0]],
    
       [[0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        ..., 
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0]],
    
       [[0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        ..., 
        [0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0]]])
    

    所以我在numpy中有一个numpy,它有一个四个值的列表(具体来说是RGBA中的像素)。我想将所有值设置为0。做这件事最像蟒蛇的方式是什么? 提前感谢!

    2 回复  |  直到 6 年前
        1
  •  1
  •   fferri    6 年前
    m[:] = 0
    

    将设置数组的所有值 m 归零。

    如果需要具有相同形状和数据类型的零数组 M ,使用:

    np.zeros_like(m)
    
        2
  •  0
  •   tykom    6 年前
    import numpy as np
    
    a = np.random.randn(10, 10)
    b = np.zeros_like(a)
    

    b 将是 ndarray 与原始形状完全相同,填充 0