본문 바로가기
Python 파이썬/numpy

numpy ) 함수

by 하이방가루 2022. 3. 19.
728x90
반응형

일반적인 수학 함수

a = np.arange(1, 6, 1)
print(a)
# [1 2 3 4 5]
print(np.sin(a))
# [ 0.84147098  0.90929743  0.14112001 -0.7568025  -0.95892427]
print(np.sin(a).round(3))
# [ 0.841  0.909  0.141 -0.757 -0.959]
print(np.cos(a).round(3))
# [ 0.54  -0.416 -0.99  -0.654  0.284]
print(np.tanh(a).round(3))
# [0.762 0.964 0.995 0.999 1.   ]
print(np.exp(a).round(3))
# [  2.718   7.389  20.086  54.598 148.413]
print(np.log(a).round(3))
# [0.    0.693 1.099 1.386 1.609]
print(np.sum(a1))
# 15

최대값, 최소값

# 두 행렬이 같은 shape일 경우 가능
# 같은 인덱스의 요소를 비교하여 최대,최소값으로 재배열
a1 = np.array([7,8,9,10])
a2 = np.array([1,5,10,15])
print(np.maximum(a1,a2))
# [ 7  8 10 20]
print(np.minimum(a1,a2))
# [ 1  5  9 10]

# np.argXXX : 인덱스를 반환함.
a = np.array([6,10,3,2,4,5])
print(a)
# [6,10,3,2,4,5]
print(np.argmax(a)) # 가장 큰 값의 인덱스 반환
# 1
print(a[np.argmax(a)])
# 10
print(np.argmin(a)) # 가장 작은 값의 인덱스 반환
# 3
print(a[np.argmin(a)])
# 2

# 2차원배열
a = np.array([[1,8,2],[3,2,5],[9,5,3]])
print(np.argmax(a))
# 6
print(np.argmax(a,axis=0))
# [2 0 1]
print(np.argmax(a,axis=1))
# [1 2 0]

기술 통계(descriptive statistics) 함수

x = np.array([18,   5,  10,  23,  19,  -8,  10,   0,   0,   5,   2,  15,   8,
              2,   5,   4,  15,  -1,   4,  -7, -24,   7,   9,  -6,  23, -13])
len(x)  # 데이터의 갯수(count)
# 26
np.mean(x)  # 평균(mean, average)
# 4.8076923076923075
np.var(x)  # 분산(variance)
# 115.23224852071006
np.std(x)  # 표준 편차(standard deviation)
# 10.734628476137871
np.max(x)  # 최대값(maximum)
# 23
np.min(x)  # 최초값(minimum)
# -24
np.median(x)  # 중앙값(median)
# 5.0
print(np.percentile(x, 0)) # 최소값
# -24.0
print(np.percentile(x, 25)) # 1사분위수(quartile)
# 0.0
print(np.percentile(x, 50)) # 중앙값
# 5.0
print(np.percentile(x, 75)) # 3사분위 수
# 10.0
print(np.percentile(x, 100))  # 최대값
# 23.0
728x90
반응형

댓글