build my life

[Python] Numpy (2) 집계함수/조건연산 본문

Python

[Python] Numpy (2) 집계함수/조건연산

dalovee 2022. 8. 30. 14:58
728x90

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 데이터 프레임을 다룰 때에도 같은 이름으로 사용되니 잘 기억해두자ㅑ악!

728x90