Python에서 배열 입력의 각 요소에 대한 제곱값을 반환하려면 numpy.square() 메서드를 사용하면 됩니다. 이 메서드는 입력 배열 x의 모든 요소에 대해 x*x 연산을 수행하며, 결과 배열은 입력 배열과 동일한 형태(shape)와 데이터 타입(dtype)을 가집니다. 만약 입력이 스칼라라면 결과 역시 스칼라로 반환됩니다.
numpy.square()의 주요 매개변수
첫 번째 매개변수 x: 제곱을 계산할 입력 데이터입니다.
두 번째 매개변수 out: 연산 결과가 저장될 위치를 지정합니다. 이 값을 제공하는 경우, 입력 데이터가 브로드캐스팅될 수 있는 형태여야 합니다. 값을 지정하지 않거나 None으로 설정하면 새로 할당된 배열이 반환됩니다. 튜플 형태로 지정할 수도 있으며(키워드 인수로만 가능), 이 경우 튜플의 길이는 출력 개수와 같아야 합니다.
세 번째 매개변수 where: 조건이 입력 배열 전체에 브로드캐스팅됩니다. 조건이 True인 위치에는 ufunc 연산 결과가 저장되고, 그 외의 위치에서는 out 배열의 원래 값이 유지됩니다. 단, 기본값인 out=None으로 초기화되지 않은 배열을 생성한 경우, 조건이 False인 위치의 값은 초기화되지 않은 상태로 남게 되므로 주의해야 합니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
array() 메서드를 사용하여 NumPy 배열을 생성합니다. 여기서는 정수(int) 타입의 요소들을 추가했습니다.
arr = np.array([[25, -50, 75], [-90, 81, 64]])
생성된 배열을 화면에 출력합니다.
print("Our Array...\n",arr)배열의 차원(dimension)을 확인합니다.
print("\nDimensions of our Array...\n",arr.ndim)배열 객체의 데이터 타입을 확인합니다.
print("\nDatatype of our Array object...\n",arr.dtype)numpy.square() 메서드를 사용하여 배열의 요소별 제곱값을 반환합니다. 이 메서드는 x와 동일한 형태와 dtype을 가진 요소별 x*x 결과를 반환하며, 입력이 스칼라인 경우 스칼라를 반환합니다.
print("\nResult...\n",np.square(arr))전체 예제 코드
import numpy as np
# array() 메서드를 사용하여 NumPy 배열 생성
# 정수(int) 타입의 요소들 추가
arr = np.array([[25, -50, 75], [-90, 81, 64]])
# 배열 출력
print("Our Array...\n",arr)
# 차원 확인
print("\nDimensions of our Array...\n",arr.ndim)
# 데이터 타입 확인
print("\nDatatype of our Array object...\n",arr.dtype)
# numpy.square() 메서드로 배열 입력의 요소별 제곱 반환
# x*x 연산 결과를 동일한 shape과 dtype으로 반환하며,
# 입력이 스칼라이면 스칼라를 반환함
print("\nResult...\n",np.square(arr))실행 결과
Our Array... [[ 25 -50 75] [-90 81 64]] Dimensions of our Array... 2 Datatype of our Array object... int64 Result... [[ 625 2500 5625] [8100 6561 4096]]
위 실행 결과에서 볼 수 있듯이, 2차원 배열의 각 요소가 개별적으로 제곱되어 동일한 형태의 새로운 배열로 반환되었습니다. 예를 들어 25는 625로, -50은 2500으로 변환된 것을 확인할 수 있습니다. 음수도 제곱 연산 시 양수로 변환된다는 점을 기억해두면 유용합니다.