Numpy
다차원 데이터의 분석과 고속 배열과 연산
sample_list = [1, 2, 3, 4, 5]
for num in sample_list:
num += 10
for i, v in enumerate(sample_list):
sample_list[i] = v + 10
sample_list
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
arr
arr = arr + 10
arr
arr = arr / 2
arr
- 복합 대입 연산자는 오류를 초래하니 주의해서 사용
배열 변경
arr = np.array([1, 2, 3, 4, 5, 6])
arr
arr.shape
(6,)
arr_2 = arr.reshape((2, 3))
arr_2
[4, 5, 6]])
Broadcasting 기능
arr3 =np.array([[1, 2, 3], [4, 5, 6]])
arr4 = np.array([10, 11, 12])
arr3 + arr4
# 행렬의 더하기 뺴기와 유사
# 각 차원에서 크기가 동일
# arr3 은 1차원 3 2차원 3
# arr4 는 1차원 3
# 크기가 다른 경우 하나의 배열에서 차원의 크기가 1인 경우
함수 사용
np.add(arr1, arr2)
result = np.empty_like(arr1)
np.add(arr1, arr2, out = result)
등을 이용해 값을 채울 수 있음
np.sum(arr1)
np.prod(arr1)
np.cumsum(arr1)
np.mean(arr1)
np.median(arr1)
np.std(arr1)
- 최소, 최대 # .min .max
- argument of minimum 최솟값으로 만들어주는 매개변수
np.argmin(arr1)
np.ptp(arr1)
- 수학과 관련된 함수는 대부분 존재
지수, 로그, 삼각함수, 쌍곡선, 복소수.........
.suntract 뺄셈
.multiply 곱셈
# 곱셉은 행렬 곱셈이 아닌 요소 곱셈
.floor_divde
# 요소별 나눗셈 후 소수점 이하 버림
.mod
# 요소별 나눗셈의 나머지를 반환
arr1 = np.array([1,2,3,4,5])
arr2 = np.array([10, 12,13,14,15])
arr3 = np.array([20,21,22,23,24])
np.add(arr1,arr2,arr3)
arr3