2
나는 무작위로 배열 된 1과 0으로 구성된 열등 배열을가집니다.numpy 배열 값을 0에서 -1로 변경합니다.
numpy.array([[0,1,1],[1,0,0]])
어떻게 0을 변경하지 않고 0으로 변경할 수 있습니까?
나는 무작위로 배열 된 1과 0으로 구성된 열등 배열을가집니다.numpy 배열 값을 0에서 -1로 변경합니다.
numpy.array([[0,1,1],[1,0,0]])
어떻게 0을 변경하지 않고 0으로 변경할 수 있습니까?
이미 설명한 바와 같이 the comments에는 기본적으로 값을 대체하는 두 가지 방법이 있습니다. 어느 boolean array indexing을 사용하여 현재 위치에서 값을 변경하려면 다음
>>> import numpy as np
>>> arr = np.array([[0,1,1],[1,0,0]])
>>> arr[arr==0] = -1
>>> arr
array([[-1, 1, 1],
[ 1, -1, -1]])
당신은 마스크가 True 배열의 값을 받고 arr[arr == 0]
(마스크를 생성)이 arr == 0
의 중간 단계 (확인 할 수 있습니다, 이 경우 값이 0 인 경우) 무슨 일이 일어나고 있는지 이해해야합니다.
>>> np.where(arr==0, -1, arr)
array([[-1, 1, 1],
[ 1, -1, -1]])
이 새로운 배열을 생성하고 조건 (첫 번째 인수)가 사실이고 어디든지 두 번째 인수를 사용하면 값으로 배열의 복사본을 만들려면
는 또는 np.where
이 교체 그렇지 않으면 두 번째 인수 항목을 사용합니다.
'a [a == 0] = -1'? '마스킹하기 '를 읽으면 도움이 될 것입니다. – Divakar
또는'a = 2 * a - 1'. –