random.randn(d0,d1,.., dn) : 표준정규난수 생성arr = np.random.randn(4, 3)
arr
- 출력
array([[ 2.1112083 , 0.56573421, -1.1171306 ],
[ 1.04822026, 0.44196139, -1.15541176],
[-0.86711409, -0.32242043, -0.04355019],
[-0.30525955, -1.76728679, 0.84724682]])
np.abs(arr)
- 출력
array([[2.1112083 , 0.56573421, 1.1171306 ],
[1.04822026, 0.44196139, 1.15541176],
[0.86711409, 0.32242043, 0.04355019],
[0.30525955, 1.76728679, 0.84724682]])
np.square(arr)
- 출력
array([[4.45720050e+00, 3.20055193e-01, 1.24798078e+00],
[1.09876571e+00, 1.95329874e-01, 1.33497632e+00],
[7.51886850e-01, 1.03954932e-01, 1.89661948e-03],
[9.31833926e-02, 3.12330260e+00, 7.17827171e-01]])
np.exp(arr)
- 출력
array([[8.25821368, 1.76074006, 0.32721737],
[2.85256976, 1.55575568, 0.31492784],
[0.42016235, 0.72439357, 0.9573845 ],
[0.73693208, 0.17079577, 2.33321424]])
log(): 자연로그log10() : 상용로그log2() : 밑이 2인 로그np.log10(np.array([10, 100, 1000]))
np.log2(np.array([16, 32, 1024]))
- 출력
array([1., 2., 3.])
array([ 4., 5., 10.])
1 : 양수-1 : 음수0 : 0np.sign(arr)
- 출력
array([[ 1., 1., -1.],
[ 1., 1., -1.],
[-1., -1., -1.],
[-1., -1., 1.]])
floor() : 내림# 내림
np.floor(arr)
- 출력
array([[ 2., 0., -2.],
[ 1., 0., -2.],
[-1., -1., -1.],
[-1., -2., 0.]])
round() : 반올림# 반올림
np.round(arr)
- 출력
array([[ 2., 1., -1.],
[ 1., 0., -1.],
[-1., -0., -0.],
[-0., -2., 1.]])
ceil() : 올림# 올림
np.ceil(arr)
```python
array([[ 3., 1., -1.],
[ 2., 1., -1.],
[-0., -0., -0.],
[-0., -1., 1.]])
nan 데이터 생성arr[1, 2] = np.nan
arr
- 출력
array([[ 2.1112083 , 0.56573421, -1.1171306 ],
[ 1.04822026, 0.44196139, nan],
[-0.86711409, -0.32242043, -0.04355019],
[-0.30525955, -1.76728679, 0.84724682]])
nan 데이터인 성분만 True 로 출력한다.np.isnan(arr)
- 출력
array([[False, False, False],
[False, False, True],
[False, False, False],
[False, False, False]])
arr + np.inf
- 출력
array([[inf, inf, inf],
[inf, inf, nan],
[inf, inf, inf],
[inf, inf, inf]])
cos, cosh, sin, sinh, tan, tanhnp.sin(arr)
- 출력
array([[ 0.8574968 , 0.53603577, -0.89884659],
[ 0.8665363 , 0.42771322, nan],
[-0.76246485, -0.31686319, -0.04353643],
[-0.30054074, -0.98075778, 0.74946051]])
nan 이 포함된 경우 사칙연산 값은 항상 0 이 된다. 이때, nansum() 을 사용하면 nan 을 0 취급한다.np.sum(arr)
- 출력
np.float64(nan)
np.nansum(arr)
- 출력
np.float64(0.5916093247340019)
nan 이 포함된 경우 사칙연산 값은 항상 0 이 된다. 이때, nanprod() 을 사용하면 nan 을 1 취급한다.np.prod(arr)
- 출력
np.float64(nan)
np.nanprod(arr)
- 출력
np.float64(0.003440008292098186)
arr[i+1] - arr[i]np.diff(arr)
- 출력
array([[-1.5454741 , -1.68286481],
[-0.60625886, nan],
[ 0.54469367, 0.27887023],
[-1.46202724, 2.61453361]])
nan 이 포함된 경우 통계연산 값은 항상 0 이 된다. 이때, nanmean() 을 사용하면 nan 을 제외한다.np.mean(arr)
- 출력
np.float64(nan)
np.nanmean(arr)
- 출력
np.float64(0.05378266588490926)
nan 이 포함된 경우 통계연산 값은 항상 0 이 된다. 이때, nanstd() 을 사용하면 nan 을 제외한다.np.std(arr)
- 출력
np.float64(nan)
np.nanstd(arr)
- 출력
np.float64(1.0479228497374542)
nan 이 포함된 경우 통계연산 값은 항상 0 이 된다. 이때, nanvar() 을 사용하면 nan 을 제외한다.np.var(arr)
- 출력
np.float64(nan)
np.nanvar(arr)
- 출력
np.float64(1.098142299001867)
nan 이 포함된 경우 출력 값은 항상 0 이 된다. 이때, nanmax(), nanmin() 을 사용하면 nan 을 제외하고 반환한다.np.max(arr)
- 출력
np.float64(nan)
np.nanmax(arr)
- 출력
np.float64(2.1112083026925186)
axis= 파라미터를 통해 행, 열 기준으로 최대/최소값을 출력할 수 있다.nan 값을 포함하여 nan 출력np.min(arr, axis=1)
- 출력
array([-1.1171306 , nan, -0.86711409, -1.76728679])
nan 이 포함되면 max() min() 값은 nan 이 되기에 nan 의 위치 인덱스를 반환하기에, nan 을 제외하고자 하면 nanargmax() nanargmin() 을 사용한다.arr = np.array([[ 2.1112083 , 0.56573421, -1.1171306 ],
[ 1.04822026, 0.44196139, nan],
[-0.86711409, -0.32242043, -0.04355019],
[-0.30525955, -1.76728679, 0.84724682]])
np.argmax(arr)
np.nanargmax(arr)
- 출력
np.int64(5)
np.int64(0)
2차원 배열
arr2 = np.array([[ 4, 3, -4],
[ 0, 1, 5]])
max() 값의 위치 인덱스를 반환한다.4 이며, 인덱스 0 을 반환하고, 1행의 최대값은 5 이며, 인덱스 2 를 반환하여 array([0, 2]) 을 출력하게 된다.np.argmax(arr2, axis=1)
- 출력
array([0, 2])
nan 이 포함된 경우 통계연산 값은 항상 0 이 된다. 이때, nancumsum() nancumprod() 을 사용하면 nan 을 제외한다.nan 값 이후로 전부 nan 이 되는 모습이다.np.cumsum(arr)
- 출력
array([2.1112083 , 2.67694251, 1.55981191, 2.60803217, 3.04999356,
nan, nan, nan, nan, nan,
nan, nan])
2차원 배열
np.cumsum(arr, axis=0)
- 출력
array([[ 2.1112083 , 0.56573421, -1.1171306 ],
[ 3.15942856, 1.0076956 , nan],
[ 2.29231447, 0.68527517, nan],
[ 1.98705492, -1.08201162, nan]])
예시 배열
arr2 = np.array([[ 4, 3, -4],
[ 0, 1, 5]])
arr3 = np.array([[1, 2, 3],
[-5, -10, 4]])
np.add(arr2, arr3)
- 출력
array([[ 5, 5, -1],
[-5, -9, 9]])
np.subtract(arr2, arr3)
- 출력
array([[ 3, 1, -7],
[ 5, 11, 1]])
np.multiply(arr2, arr3)
- 출력
array([[ 4, 6, -12],
[ 0, -10, 20]])
np.divide(arr2, arr3)
- 출력
array([[ 4. , 1.5 , -1.33333333],
[-0. , -0.1 , 1.25 ]])
np.maximum(arr2, arr3)
- 출력
array([[4, 3, 3],
[0, 1, 5]])
np.minimum(arr2, arr3)
- 출력
array([[ 1, 2, -4],
[ -5, -10, 4]])