라일락 꽃이 피는 날

[Numpy] 기본 함수 본문

데이터 분석/Python

[Numpy] 기본 함수

eunki 2021. 6. 16. 18:33
728x90

1. 연산 함수

add(덧셈), subtract(뺄셈), multiply(곱셈), divide(나눗셈)

x = np.array([1, 2, 3])
y = np.array([4, 5, 6])

np.add(x, y)  # array([5, 7, 9])
np.subtract(x, y)  # array([-3, -3, -3])

np.multiply(x, y)  # array([ 4, 10, 18])
np.divide(x, y)  # array([0.25, 0.4 , 0.5 ])

 

 

 

2. 통계 함수

min(최솟값), max(최댓값), argmin(최솟값의 인덱스), argmax(최댓값의 인덱스),

mean(평균), median(중앙값), var(분산), std(표준편차)

x = np.array([1, 2, 3, 4, 5, 6])

np.min(x)  # 1
np.max(x)  # 6

np.argmin(x)  # 0
np.argmax(x)  # 5

np.mean(x)  # 3.5
np.median(x)  # 3.5

np.var(x)  # 2.9166666666666665
np.std(x)  # 1.707825127659933

 

 

 

3. 집계 함수

 

1) sum(합계)

x = np.array([1, 2, 3, 4, 5, 6])

np.sum(x)  # 21

 

 

2) cumsum(누적합계)

주어진 축을 따라 값의 누적 합계를 반환한다.

 

numpy.cumsum(ary, axis, dtype)

ary : 입력 배열

axis : 누적 합계가 계산되는 축, 따로 설정하지 않으면 평평한 배열 위에 합계를 계산한다.

dtype : 반환할 값의 데이터 타입

a = np.array([[1,2,3], [4,5,6]])

np.cumsum(a)  # array([ 1,  3,  6, 10, 15, 21])

np.cumsum(a, dtype=float)  # array([  1.,   3.,   6.,  10.,  15.,  21.])
a = np.array([[1,2,3], [4,5,6]])

np.cumsum(a,axis=0)      # array([[1, 2, 3],
                         #        [5, 7, 9]])
                         
np.cumsum(a,axis=1)      # array([[ 1,  3,  6],
                         #        [ 4,  9, 15]])

 

 

 

4. any, all

any : 특정 조건을 만족하는 것이 하나라도 있으면 True, 아니면 False

all : 모든 원소가 특정 조건을 만족한다면 True, 아니면 False

z = np.random.randn(5)  # [0.44013471 -0.91986161  0.17857339  1.06047376 -0.23158059]

np.any(z > 0)  # True
np.all(z != 0)  # True

 

 

 

5. where

조건에 따라 선별적으로 값 선택이 가능하다.

 

numpy.where(조건, a, b)

조건에 만족하면 a를 반환하고, 만족하지 않으면 b를 반환한다.

z = np.random.randn(5)  # [-1.42466639 -0.05624976  0.87577649 -0.80739459  0.66673958]

np.where(z > 0, z, 0)  # array([0. , 0. , 0.87577649, 0. , 0.66673958])
728x90

'데이터 분석 > Python' 카테고리의 다른 글

[Numpy] 삼각함수 (sin, cos, tan)  (0) 2021.06.16
[Numpy] ndarray 생성  (0) 2021.06.16
[Pandas] melt  (0) 2021.06.14
[Numpy] concatenate, split  (0) 2021.06.14
텍스트 마이닝 2  (0) 2021.06.04