Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python NumPy 배열 데이터 타입 변경 방법: astype() 함수 활용법

NumPy에서는 astype(data_type) 메서드를 사용해 배열의 데이터 타입을 손쉽게 변경할 수 있습니다. 예를 들어 float64 타입의 NumPy 배열이 있다면, astype() 메서드에 원하는 데이터 타입을 인자로 전달하는 것만으로 int32 등 다른 타입으로 변환할 수 있습니다.

또한 NumPy 배열의 현재 데이터 타입은 dtype 속성을 통해 확인할 수 있습니다. 먼저 샘플 배열의 데이터 타입을 조회하는 예제부터 살펴보겠습니다.

배열의 데이터 타입 확인하기

# numpy 라이브러리 임포트
import numpy as np

# numpy 배열 생성
array = np.array([1, 2, 3, 4, 5])

# numpy 배열의 데이터 타입 출력
print(array.dtype)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

int32

astype()로 float64를 int32로 변환하기

이번에는 실제로 float64 타입의 배열을 int32 타입으로 변경하는 과정을 살펴보겠습니다.

# numpy 라이브러리 임포트
import numpy as np

# float64 타입의 numpy 배열 생성
array = np.array([1.5, 2.6, 3.7, 4.8, 5.9])

# 변경 전 배열의 타입 출력
print(f'변경 전: {array.dtype}')

# astype() 메서드로 numpy 배열의 데이터 타입 변경
array = array.astype(np.int32)

# 변경 후 배열의 타입 출력
print(f'변경 후: {array.dtype}')

실행 결과

위 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

변경 전: float64
변경 후: int32

참고 사항

NumPy 모듈에서 제공하는 모든 데이터 타입뿐만 아니라 파이썬의 기본 데이터 타입도 사용할 수 있습니다. NumPy에서 지원하는 전체 데이터 타입 목록은 공식 문서에서 확인할 수 있습니다.

한 가지 주의할 점은, 위 예제처럼 부동소수점(float) 배열을 정수(int)로 변환하면 소수점 이하 값이 버려진다는 점입니다. 따라서 데이터 변환 시 값의 손실 여부를 반드시 고려해야 합니다.

마무리

이번 튜토리얼에서는 NumPy 배열의 데이터 타입을 dtype 속성으로 확인하고, astype() 메서드를 이용해 원하는 타입으로 변환하는 방법을 알아보았습니다. 학습 중 궁금한 점이나 문제가 있다면 댓글로 남겨주세요.