티스토리 뷰
numpy에서 많이 사용하는 where, argmax, argmin에 대해 정리해보겠습니다.
아래 코드들은 jupyter를 활용하여 순서대로 실행해보세요.
1. numpy array 값 비교
numpy는 배열요소 그대로 비교 작업이 가능합니다.
import numpy as np;
a = np.arange(10)
a
a > 5
-- 출력 --
array([False, False, False, False, False, False, True, True, True, True])
배열과 숫자를 비교하면 각각의 요소와 비교한 결과가 Array 형태로 출력됩니다.
sum(a>5)
-- 출력 --
4
그래서 비교한 값을 sum으로 계산하면 True가 몇 개인지 확인할 수 있습니다.
any
any는 array 요소들 중에 조건에 만족하는 요소가 하나라도 있다면 True를 리턴합니다.
np.any(a>5), np.any(a<0)
-- 출력 --
(True, False)
all
all은 모든 요소가 만족한다면 True를 리턴 합니다.
np.all(a>5), np.any(a<5)
-- 출력 --
(False, True)
배열끼리 비교
numpy는 배열의 크기가 동일하면 동일 위치에 있는 요소 간의 비교 결과를 Boolean type으로 반환합니다.
a = np.array([1,3,0], float)
b = np.array([5,2,1], float)
a > b
-- 출력 --
(False, True)
a == b
-- 출력 --
array([False, False, False])
(a > b).any(), (a > b).all()
-- 출력 --
(True, False)
logical
if 문과 비슷하며 각 요소들을 조건에 비교하여 배열로 리턴합니다.
logical_and : 모두 만족하는가
logical_not : Not을 붙여 주어 반대로 표시
logical_or : 하나라도 만족하는가
np.logical_and(a>0, a<3)
-- 출력 --
array([ True, False, False])
np.logical_not(a)
-- 출력 --
array([False, False, True])
np.logical_or(a>0, a<3)
-- 출력 --
array([ True, True, True])
2. numpy where
where(Condition, TRUE 일 때 출력할 값, FALSE 일때 출력할 값)
where은 if문과 비슷하며 배열의 각 요소를 Condition과 비교하여 지정한 값으로 리턴합니다.
np.where( a> 0, 3, 2)
-- 출력 --
array([3, 3, 2])
condition만 지정한다면 해당 값이 있는 index 값을 출력합니다.
a = np.arange(5, 15)
np.where(a>10) # 주소값을 가져온다 (index값)
-- 출력 --
(array([6, 7, 8, 9], dtype=int64),)
3. argmax & argmin
argmx, argmin은 사용빈도가 높은 함수이며 꼭 기억해두는 것이 좋습니다.
array 요소들 중 최대값 또는 최소값의 index를 반환하는 함수입니다.
axis 기반의 반환도 가능합니다.
a = np.array([1,2,4,5,8,78,23,3])
np.argmax(a), np.argmin(b)
-- 출력 --
(5, 2)
a = np.array([[1,2,4,7], [9, 88,6,45], [9,76,3,4]])
np.argmax(a, axis=1), np.argmin(a, axis=0)
-- 출력 --
(array([3, 1, 1], dtype=int64), array([0, 0, 2, 2], dtype=int64))
참고
https://www.youtube.com/watch?v=R47dC04H2-I&list=PLBHVuYlKEkULZLnKLzRq1CnNBOBlBTkqp&index=8
'python' 카테고리의 다른 글
[python] 웹 크롤링 - 네이버 스토어 상품명, 가격 가져오는 함수 만들기. (0) | 2020.02.24 |
---|---|
numpy csv 파일 읽기, 쓰기 - loadtxt, savetxt, npy 형식 저장 (0) | 2020.02.21 |
파이썬 numpy - array 사칙연산, 행렬 곱, Broadcasting (1) | 2020.02.11 |
파이썬 numpy 단위행렬, 대각행렬 생성 및 추출 방법. (0) | 2020.02.08 |
파이썬 numpy - array 생성 함수 ones, zeros,empty (0) | 2020.02.07 |
- Total
- Today
- Yesterday
- k8s metrics-server
- React 프로젝트 생성
- git
- 지도학습
- vscode
- Python
- Java
- 파이썬
- 넘파이
- 노드
- GPTGOT
- LeetCode 30일 챌린지
- react
- LeetCode 풀이
- LeetCode 5월 챌린지
- 리엑트
- k8s metrics-server running
- 에라토스테네스
- Java leetcode
- 파이썬 numpy
- 퍼셉트론
- LeetCode 알고리즘 공부
- CHATGOT
- 30 Day LeetCode Challenge
- 버츄얼스튜디오코드
- Component
- Node
- 머신러닝
- GPT서비스
- numpy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |