Python Numpy.where() 함수
Sohaib Atiq
2023년1월30일
-
numpy.where()
구문 -
예제 코드:
[X, Y]
제외numpy.where()
-
예제 코드: 1 차원 배열이있는
numpy.where()
-
예제 코드: 2 차원 배열이있는
numpy.where()
-
예제 코드: 여러 조건이있는
numpy.where()
![Python Numpy.where() 함수](/img/Numpy/feature-image---Python-Numpy-where.webp)
Numpy.where()
함수는 입력 조건을 충족하는 배열의 색인을 생성합니다. y
는 주어지지 않습니다. 또는 주어진 조건에 따라x
또는y
의 배열 요소.
numpy.where()
구문
numpy.where(condition, [x, y])
매개 변수
condition |
array_like ,True 또는False 조건이True 이면 출력에x 의 요소가 포함되고, 그렇지 않으면 출력에y 의 요소가 포함됩니다. |
x,y |
반환이 생성되는 배열 (x, y) 를 모두 전달하거나 전달하지 마십시오. |
반환
배열을 반환합니다. condition
이 True
이면 결과에 x 요소가 포함되고 condition
이 False
이면 결과에 y 요소가 포함됩니다.
배열의 인덱스는x, y
가 주어지지 않았습니다.
예제 코드: [X, Y]
제외numpy.where()
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where(m > 3)
print(n)
출력:
(array([3, 4], dtype=int64),)
요소가 3보다 큰 m
- a> 3
의 색인을 반환합니다.
인덱스가 아닌 요소가 필요한 경우.
예제 코드: 1 차원 배열이있는numpy.where()
import numpy as np
m = np.where([True, False, True], [1,2,3], [4, 5, 6])
print(m)
출력:
[1 5 3]
조건이 1 차원 배열 인 경우 Numpy.where()
함수는 조건 배열을 반복하고 조건 요소가 True
인 경우 x
에서 요소를 선택하고 조건 요소는 False
입니다.
예제 코드: 2 차원 배열이있는numpy.where()
import numpy as np
x = np.array([[10, 20, 30], [3, 50, 5]])
y = np.array([[70, 80, 90], [100, 110, 120]])
condition = np.where(x > 20, x, y)
print("Input array :")
print(x)
print(y)
print("Output array with condition applied:")
print(condition)
출력:
Input array :
[[10 20 30]
[ 3 50 5]]
[[ 70 80 90]
[100 110 120]]
Output array with condition applied:
[[ 70 80 30]
[100 50 120]]
x> 20
의 조건을 x
의 모든 요소에 적용하고, True
이면 x의 요소를 출력으로, False
이면 ‘y의 요소를 출력합니다.
작동 방식을 보여주기 위해 간단한 예제를 만듭니다.
import numpy as np
m = np.where(
[[True, False, True], [False, True, False]],
[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]],
)
print(m)
출력:
[[ 1 8 3]
[10 5 12]]
예제 코드: 여러 조건이있는numpy.where()
numpy.where()
함수에 두 개 이상의 조건을 적용 할 수도 있습니다.
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m > 1) & (m < 5), m, 0)
print(n)
출력:
[0 2 3 4 0]
m> 1
및 m <5
의 여러 조건을 적용하고 요소가 두 조건을 모두 충족하면 요소를 반환합니다.
여러 조건 간의 논리는AND
(&
)로 제한되지 않고OR
(|
)도 허용됩니다.
import numpy as np
m = np.array([1, 2, 3, 4, 5])
n = np.where((m < 2) | (m > 4), m, 0)
print(n)
출력:
[1 0 0 0 5]