numpy에서 자주 사용되는 함수들
import numpy as np
numpy documentation
연산 함수
- add, substract, multiply, divide
x = np.arange(9).reshape(3, 3)
y = np.random.rand(9).reshape(3, 3)
print(x)
print(y)
[[0 1 2]
[3 4 5]
[6 7 8]]
[[0.21438346 0.73318512 0.10849893]
[0.38730067 0.42093761 0.51194177]
[0.24827118 0.6062043 0.29472661]]
np.add(x, y)
array([[0.21438346, 1.73318512, 2.10849893],
[3.38730067, 4.42093761, 5.51194177],
[6.24827118, 7.6062043 , 8.29472661]])
x + y
array([[0.21438346, 1.73318512, 2.10849893],
[3.38730067, 4.42093761, 5.51194177],
[6.24827118, 7.6062043 , 8.29472661]])
x - y
array([[-0.21438346, 0.26681488, 1.89150107],
[ 2.61269933, 3.57906239, 4.48805823],
[ 5.75172882, 6.3937957 , 7.70527339]])
x*y
array([[0. , 0.73318512, 0.21699786],
[1.161902 , 1.68375042, 2.55970885],
[1.48962707, 4.24343013, 2.35781292]])
x/y
array([[ 0. , 1.36391202, 18.43336174],
[ 7.74592008, 9.50259597, 9.76673578],
[24.16712258, 11.54726213, 27.14379904]])
통계 함수
- 평균, 분산, 중앙, 최대, 최소값 등등 통계 관련된 함수가 내장
print(x)
[[0 1 2]
[3 4 5]
[6 7 8]]
np.mean(x)
4.0
np.max(x)
8
np.argmax(x)
8
집계함수
- 합계(sum), 누적합계(cumsum) 등등 계산 가능
print(x)
[[0 1 2]
[3 4 5]
[6 7 8]]
np.sum(x)
105
np.cumsum(x)
array([ 0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78,
91, 105], dtype=int32)
any, all 함수
- any: 특정 조건을 만족하는 것이 하나라도 있으면 True, 아니면 False
- all: 모든 원소가 특정 조건을 만족한다면 True, 아니면 False
- 기본적인 python으 loop를 빠르게 해결해줄 수 있다.
z = np.random.randn(11)
print(z)
[ 0.25235722 -0.42470051 2.38964772 -0.70211327 0.16246332 3.13480136
0.11320994 -0.34425512 1.19982835 -0.88760342 0.58338605]
z > 0
array([ True, False, True, False, True, True, True, False, True,
False, True])
np.any(z > 0)
True
np.all(z > 0)
False
where 함수
- 조건에 따라 선별적으로 값을 선택 가능
- 사용 예) 음수인경우는 0, 나머지는 그대로 값을 쓰는 경우
- 기본적인 python으 loop를 빠르게 해결해줄 수 있다.
v = np.random.randn(10)
print(v)
[-1.15489028 1.67851178 1.87890075 0.82689579 0.86246674 -0.20224624
-0.35316475 0.41024593 -0.59448554 0.47888509]
np.where(z > 0, z, 0)
array([0.25235722, 0. , 2.38964772, 0. , 0.16246332,
3.13480136, 0.11320994, 0. , 1.19982835, 0. ,
0.58338605])