본 포스팅은 이 책을 많이 참고했다. !https://www.yes24.com/Product/Goods/99029275
NumPy에서는 브로드캐스팅(broadcasting)과 형식 캐스팅(type casting)이라는 개념을 지원하는데, 서로 차원이 다른 배열에서 연산하는 것을 말한다. 형식 캐스팅은 두 배열의 자료형(dtype)을 비교해 표현 범위가 더 넓은 자료형을 선택한다.
브로드캐스팅에는 규칙이 있다.
- 두 배열의 차원(ndim)이 다르면 차원이 낮은 배열이 차원이 높은 배열과 같은 차원의 배열로 간주된다.
- 반환 배열은 차원의 수가 가장 큰 배열이다.
- 연산 배열과 반환 배열의 차원 크기(shape)가 같거나 혹은 1일 때 브로드캐스팅이 가능하다.
- 브로드캐스팅 배열의 차원 크기는 연산 배열들의 차원 크기에 대해 최소 공배수 값으로 사용한다.
그 외의 상세 내용은 상술한 책을 참조하길 바란다.
이외에도 배열의 함수들 중 일부를 서술한다.
1
2
3
4
np.add(array1, array2)
np.subtract(array1, array2)
np.multiply(array1, array2)
np.divide(array1, array2)
사칙연산이다. 각각 덧셈, 뺄셈, 곱셈, 나눗셈이다.
1
np.power(array1, array2)
제곱이다.
1
np.mod(array1, array2)
나눗셈의 나머지다.
1
np.floor_divide(array1, array2)
나눗셈을 내림처리한다.
1
np.logaddexp(array1, array2)
지수의 합을 로그(log) 처리한다.
1
2
np.logaddexp2(array1, array2)
2의 제곱의 합을 밑이 2인 로그로 처리한다.
1
np.positive(array)
양수를 곱한다.
1
np.negative(array)
음수를 곱한다.
1
np.abs(array)
절댓값
1
np.round(array)
반올림
1
np.ceil(array)
올림
1
np.floor
내림
1
np.maximum(array1, array2)
최댓값
1
np.minimum(array1, array2)
최솟값
1
np.sqrt(array)
제곱근
1
np.exp(array)
지수
1
np.log(array)
밑이 e인 로그
삼각 함수도 일부 적는다.
1
2
np.sin(array)
np.arcsin(array)
사인과 아크사인
1
2
np.cos(array)
np.arccos(array)
코사인과 아크코사인
1
2
np.tan(array)
np.arctan(array)
탄젠트와 아크탄젠트
1
np.arctan2(array1, array2)
아크 탄젠트(array1 / array2)
1
np.deg2rad(array)
각도에서 라디안 변환
1
np.rad2deg(array)
라디안에서 각도 변환
1
np.hypot(array1, array2)
빗변 계산