Broadcasting;
크기가 다른 배열 간의 연산을 가능하게 해줌
배열 간의 기본 연산
#NumPy 배열 간의 덧셈, 뺄셈, 곱셈, 나눗셈 모두 요소별(element-wise)로 수행됨
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
#덧셈
add_result = arr1 + arr2
print(add_result)
#곱셈
mul_result = arr1 * arr2
print(mul_result)
"""
출력
[5 7 9]
[ 4 10 18]
"""
브로드캐스팅(Broadcasting)
=> 작은 배열이 큰 배열의 형태에 맞게 자동으로 확장되어 연산이 이루어지는 것을 의미
=> 서로 다른 크기의 배열 간에도 연산 가능(작은 배열이 자동으로 확장되어 연산)
arr1 = np.array([1, 2, 3]) #(3,)
arr2 = np.array([[10], [20], [30]]) #(3, 1)
"""
arr1
[1, 2, 3]
브로드캐스팅 후
[[1, 2, 3],
[1, 2, 3],
[1, 2, 3]]
arr2
[[10],
[20],
[30]]
브로드캐스팅 후
[[10, 10, 10],
[20, 20, 20],
[30, 30, 30]]
"""
#브로드캐스팅을 이용한 덧셈
broadcasting_result = arr1 + arr2
print(broadcasting_result)
"""
출력
[[11 12 13]
[21 22 23]
[31 32 33]]
"""
NumPy 활용
기본적인 수학 함수와 통계 함수
#배열의 합(sum)과 곱(prod)
arr = np.array([1, 2, 3, 4])
#합계
sum_result = np.sum(arr)
print(sum_result)
#곱
prod_result = np.prod(arr)
print(prod_result)
"""
출력
10
24
"""
#제곱근과 로그
sqrt_result = np.sqrt(arr)
print(sqrt_result)
#자연로그
log_result = np.log(arr)
print(log_result)
"""
출력
[1. 1.41421356 1.73205081 2. ]
[0. 0.69314718 1.09861229 1.38629436]
"""
#평균(mean), 중앙값(median), 표준편차(std)
arr = np.array([1, 2, 3, 4, 5])
#평균
mean_result = np.mean(arr)
print(mean_result)
#중앙값
median_result = np.median(arr)
print(median_result)
#표준편차
std_result = np.std(arr)
print(std_result)
"""
출력
3.0
3.0
1.4142135623730951
"""
#최대값(max), 최소값(min)
arr = np.array([1, 3, 2, 7, 5])
#최대값
max_result = np.max(arr)
print(max_result)
#최소값
min_result = np.min(arr)
print(min_result)
"""
출력
7
1
"""
'Python to AI' 카테고리의 다른 글
Python - Pandas(feat. titanic.csv) (0) | 2024.12.05 |
---|---|
Python - Pandas(feat. CSV, JSON, XLSX, sqlite3) (0) | 2024.12.04 |
Python - NumPy (3) | 2024.11.29 |
Python - Pandas(Series/DataFrame) (0) | 2024.11.27 |
Python - Pandas설치 및 Conda, Jupyter Notebook, 가상환경과 kernel (1) | 2024.11.26 |