일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sqlalchemy
- Comprehension
- 파이썬
- 코딩테스트
- yaml
- 백엔드 인턴십
- Django
- 조건연산
- 행렬곱
- 컴프리헨션
- EC2
- 람다함수
- 프로그래머스
- todo project
- 토이프로젝트
- cerbot
- API
- PYTHON
- Jar배포
- 프리온보딩
- 파이써닉코드
- 클래스
- numpy
- spring boot
- mock server
- 함수
- RDS
- Postman
- self
- 집계함수
- Today
- Total
build my life
[Python] Numpy (2) 집계함수/조건연산 본문
Numpy 집계함수
1. 총합(sum)
np.sum(arr) , arr.sum()
2. 평균(mean)
np.mean(arr), arr.mean()
3. 중앙값(median)
np.median(arr)
4. 표준편차(std)
np.std(arr), arr.std()
5. 분산(var)
np.var(arr), arr.var()
6. 최대/최소값(max, min)
np.max(arr), np.min(arr)
arr.max(), arr.min()
7. 최대, 최소값이 들어있는 인덱스 반환(argmax, argmin)
np.argmax(arr), np.argmin(arr)
arr.argmax(), arr.argmin()
8. 중복제거(unique)
np.unique(arr)
9. 제곱(square)
np.square(arr)
10. 루트(sqrt)
np.sqrt(arr)
11. 반올림(round) : 반올림 > np.round(값, 소수점 자리수)
np.round(arr)
12. 올림(ceil) : 양수 소수점 올림
np.ceil(arr)
13. 내림(floor) : 양수 소수점 버림
np.floor(arr)
14. 분위 수(quantile)
- 데이터를 동등한 크기로 분할하는 지점
np.quantile(arr, 0.5) #중앙값 = np.median(arr)
np.quantile(arr, 0.2) # 데이터를 20%씩 동들 분할하는 지점
# 동시에 여러 값을 처리할 수 있다.
np.quantile(arr, [0,0.25,0.5,0.75,1])
exp 함수
- 자연 상수인 오일러의 수를 밑으로 하는 지수함수
- x값이 조금만 커져도 무한대로 커지는 함수

np.exp(값)
자연 로그 함수
- 오일러를 밑으로 하는 로그함수
- 주로, 분포를 변경하는데 사용된다. => 큰 값을 작은 값으로 바꿔주는 역할
- x가 작아질 수록 무한대로 가는 함수

np.log(값)
배열 조건 연산
조건에 맞으면 True, 아니면 False를 반환한다.
arr = np.array([20,50,40,80,35,55])
arr >= 40
# [False, True, True, True, False, True]
=> 배열안에 있는 모든 값들에 대해서 40 이상인 값들만 True로 반환 됨
=> 마스킹할 때 사용된다!
np.any (= OR 조건)
- 조건에 참이 하나라도 있으면 True 반환
- 모두 거짓일 때만 False 반환
np.any(arr>80)
# False
=> arr에 들어있는 모든 값들이 80보다 작으므로 False를 반환한다.
np.all (= AND 조건)
- 조건이 모두 참인 경우 True 반환
- 거짓이 하나라도 있으면 False 반환
np.all(arr>10)
# True
=> 배열에 있는 모든 값들이 10보다 크기 때문에 True 반환
np.all(arr==arr)
=> 요소들이 같은지 다른지 판단할 때에도 np.all을 사용한다.
np.where (= if ~ else 문을 생각하면 이해하기 쉽다.)
- 조건이 참일 경우 두번째 인자값을 반환, 아니면 세번째 인자값을 반환
ex) np.where(조건, 참, 거짓)
arr = np.array([20,50,40,80,35,55])
np.where(arr > 50, 1, 0)
# [0, 0, 0, 1, 0, 1]
=> 배열 값이 50보다 크면 1, 50과 같거나 작으면 0을 반환
np.clip
- 배열 요소가 min보다 작으면 min값으로 변경하고 max보다 크면 max값으로 변경한다.
- np.clip(array, min, max)
- 배열의 요소를 min~max 범위로 값을 자른다는 의미
arr = np.array([
[1,2,3],
[0,0,3],
[5,0,1]
])
np.clip(arr, 1, 3)
"""
array([[1, 2, 3],
[1, 1, 3],
[3, 1, 1]])
"""
=> 배열의 요소가 1보다 작으면 1로 변경, 3보다 크면 3으로 값을 변경한다.
무한대값
#무한대값을 의미
np.inf
#무한대값 찾는 메소드
np.isinf(arr)
#셀 수 있는 정상 수치 찾는 메소드
np.isfinite(arr)
nan값(결측치)
#nan값을 의미
np.nan
#nan값 찾는 메소드
np.isnan(arr)
집계 연산은 나중에 데이터 전처리를 하거나 pandas 데이터 프레임을 다룰 때에도 같은 이름으로 사용되니 잘 기억해두자ㅑ악!
'Python' 카테고리의 다른 글
[Python] Numpy (4) axis 이해 / 배열 차원 변경 / 배열 합치기 (0) | 2022.08.31 |
---|---|
[Python] Numpy (3) Random 함수 (0) | 2022.08.30 |
[Python] Numpy (1) (0) | 2022.08.29 |
[Python] DB 연결 / 테이블 생성 / 데이터 추가 (SQLAlchemy 사용) (4) | 2022.08.24 |
[Python] DB 연결 / 테이블 생성 / 데이터 추가 (pymysql 사용) (0) | 2022.08.23 |