Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- numpy
- ndarray
- Python
- 배열연산
- 파이썬
- 배열붙이기
- Revising the Select Query I
- SQL
- 배열나누기
- 표본추출
- 해커랭크
- 논리배열
- 파일저장하기
- 배열추가
- buit-in exception
- 배열분리하기
- npy
- concat
- 배열쪼개기
- CONCATENATE
- reshape
- 랜덤샘플링
- fancyindexing
- Revising the Select Query II
- 넘파이
- SQL문제
- 넘파이장점
- 배열형태변경
- 벡터연산
- 배열자르기
Archives
- Today
- Total
기록하는 습관
[Numpy] 009. 불리언 배열 (Boolean Array) 본문
불리언 배열 (Boolean Array)
import numpy as np
배열을 사용한 조건문에서도 브로드캐스팅이 일어난다.
a = np.arange(10).reshape(2,5)
print( a )
print( a < 5 )
[[0 1 2 3 4]
[5 6 7 8 9]]
[[ True True True True True]
[False False False False False]]
np.any() & np.all()
array = np.arange(10)
print( array )
print( array < 5 )
print( np.any(array < 5) )
print( np.all(array < 5) )
[0 1 2 3 4 5 6 7 8 9]
[ True True True True True False False False False False]
True
False
shape이 같은 배열끼리 비교가 가능하다.
a = np.array([1,5,0], float)
b = np.array([4,3,0], float)
print( a > b )
print( a == b )
print( a < b )
print( (a < b).any() )
print( np.any(a < b) )
[False True False]
[False False True]
[ True False False]
True
True
np.logical_and(논리배열, 논리배열)
a = np.arange(5)
print( np.logical_and(a > 0, a < 3) )
print( np.logical_or(a < 1, a > 3) )
[False True True False False]
[ True False False False True]
np.where(조건, 참값, 거짓값)
데이터 전처리에 유용하게 쓰이는 함수
a = np.arange(0, 110, 10)
print( a )
print( np.where(a >= 70, "합격", "불합격") )
[ 0 10 20 30 40 50 60 70 80 90 100]
['불합격' '불합격' '불합격' '불합격' '불합격' '불합격' '불합격' '합격' '합격' '합격' '합격']
np.isnan(배열), np.isfinite(배열)
pandas의 .isna()와 헷갈리지만 numpy는 숫자를 다루므로 'not a number'를 의미하는 nan이다.
is-finite 함수는 is-infinite(이런 함수는 없음)과 헷갈리지 않도록 하자.
a = np.array([np.nan,0,1,np.inf])
print( a )
print( np.isnan(a) )
print( np.isfinite(a) ) # nan 값도 finite하지 않게 취급
print( a < np.inf ) # nan 값은 어떤 값과 비교해도 False
print( 0 < a)
[nan 0. 1. inf]
[ True False False False]
[False True True False]
[False True True False]
[False False True True]
Boolean Index (Masking)
배열[ 논리배열 ]
배열 요소들 중에서 특정 조건을 만족하는 요소들만 선택하는 기법
array = np.arange(6).reshape(2,3)
print( array )
print( "array[array > 0] :", array[array > 0] )
print( array[np.array([[True, True, False], [True, True, False]])] )
[[0 1 2]
[3 4 5]]
array[array > 0] : [1 2 3 4 5]
[0 1 3 4]
array = np.array([[5,0,-4],[2,-3,-6],[-1,-4,9]])
print( array )
print( array < 0 )
print( array[array < 0] )
[[ 5 0 -4]
[ 2 -3 -6]
[-1 -4 9]]
[[False False True]
[False True True]
[ True True False]]
[-4 -3 -6 -1 -4]
'Python > Numpy' 카테고리의 다른 글
[Numpy] 011. 파일 읽기&쓰기 (I/O) (0) | 2023.08.11 |
---|---|
[Numpy] 010. 랜덤 표본 추출 (Random Sampling) (0) | 2023.08.10 |
[Numpy] 008. 배열 간 연산과 브로드캐스팅 (Broadcasting) (0) | 2023.08.09 |
[Numpy] 007. 배열 내 연산 (0) | 2023.08.08 |
[Numpy] 006. 배열 자르기 (Split) (0) | 2023.08.08 |