如何更改数组区域中的值?

时间:2015-03-09 16:42:18

标签: python numpy

A = np.array([[1,2,3],[4,1,3],[6,7,1]])

array([[1, 2, 3],
       [4, 1, 3],
       [6, 7, 1]])

我需要将每1转换为23,但仅限于数组的子集。 我想从索引1:1开始,然后停在2:2

array([[1, 2, 3],
       [4, 23, 3],
       [6, 7, 23]])

1 个答案:

答案 0 :(得分:3)

>>>A = np.array([[1,2,3],[4,1,3],[6,7,1]])
array([[1, 2, 3],
       [4, 1, 3],
       [6, 7, 1]])

>>>b = A[1:,1:]==1
>>>A[1:,1:][b]=23
>>>A
array([[ 1,  2,  3],
       [ 4, 23,  3],
       [ 6,  7, 23]])