Python 파이썬/numpy
numpy ) 조건을 이용한 요소 선택(바꾸기) numpy.where()
하이방가루
2022. 3. 28. 08:24
728x90
반응형
numpy.where( condition, [x, y] )
x, y 가 없을 때
numpy.asarray(condition).nonzero() 와 동일하게 작동함.
x, y 가 있을 때 **
condition이 True일 경우 x를 False일 경우 y를 선택한다.
모든 매개변수는 브로드캐스팅이 가능하여야 한다.
요소 선택
np.where([[True, False], [True, True]],
[[1, 2], [3, 4]],
[[9, 8], [7, 6]])
# 실행결과
array([[1, 8], [3, 4]])
바꾸기
a = np.array([[0, 1, 2],
[0, 2, 4],
[0, 3, 6]])
np.where(a < 4, a, -1) # -1 is broadcast
# 실행결과
array([[ 0, 1, 2],
[ 0, 2, -1],
[ 0, 3, -1]])
x = np.array([[0],[1],[2]])
y = np.array([0,1,2,3])
np.where(x < y, x, 10 + y) # both x and 10+y are broadcast
# 실행결과
array([[10, 0, 0, 0],
[10, 11, 1, 1],
[10, 11, 12, 2]])
728x90
반응형