将numpy数组值设置为常量值(边缘元素除外)

时间:2019-09-25 06:22:15

标签: python numpy

如何将不在数组边缘的numpy数组的所有值设置为恒定值。 我已经搜索过了,但是没有任何工作。

1 个答案:

答案 0 :(得分:0)

使用数组索引[1:-1]来引用内部数组。例如

    a = np.zeros((5,5))   # Create an array of all zeros
    print(a)
    # [[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.]]
    a[1:-1, 1:-1] = np.full((3,3), 7) # Assign the inner array to be a constant array of 7
    print(a)
    # [[0. 0. 0. 0. 0.]
    #  [0. 7. 7. 7. 0.]
    #  [0. 7. 7. 7. 0.]
    #  [0. 7. 7. 7. 0.]
    #  [0. 0. 0. 0. 0.]]