본문 바로가기
Python 파이썬/numpy

numpy ) 조건을 이용한 요소 선택(바꾸기) numpy.where()

by 하이방가루 2022. 3. 28.
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
반응형

'Python 파이썬 > numpy' 카테고리의 다른 글

numpy ) 난수 random  (0) 2022.03.19
numpy ) 함수  (0) 2022.03.19
numpy ) 배열 array 인덱싱, 슬라이싱, 반복  (0) 2022.03.19
numpy ) 배열 array 형 변환  (0) 2022.03.19
numpy ) 배열 array 연산  (0) 2022.03.19

댓글