본문 바로가기
[R&D] 프로그래밍/Numpy

[Numpy] 넘파이 배열의 dtype 바꾸는 방법

by Geuni 2022. 7. 20. 06:40
728x90
반응형

NumPy 배열은 배열 요소의 데이터 타입(dtype)에 따라 계산 방법이 달라집니다. 때로는 배열의 데이터 타입을 변경해야 하는 경우가 있습니다. NumPy에서 배열의 데이터 타입을 변경하는 방법은 다양합니다. 이를 캐스팅(Casting) 또는 형변환 한다고 합니다.

astype() 메소드 사용하기

NumPy 배열의 데이터 타입을 변경하는 가장 간단한 방법은 astype() 메소드를 사용하는 것입니다. astype() 메소드는 새로운 dtype을 인수로 전달받아 해당 dtype으로 배열의 데이터 타입을 변경합니다.

 

예를 들어, 다음과 같은 코드를 실행해보겠습니다.

import numpy as np

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

# 데이터 형식 변경 전 배열 정보 출력
print("원래 배열 정보:", arr1)
print("데이터 형식:", arr1.dtype)

# astype() 메소드를 사용하여 데이터 형식 변경
arr2 = arr1.astype(np.float32)

# 데이터 형식 변경 후 배열 정보 출력
print("데이터 형식 변경 후 배열 정보:", arr2)
print("데이터 형식:", arr2.dtype)

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

원래 배열 정보: [1 2 3 4 5]
데이터 형식: int32
데이터 형식 변경 후 배열 정보: [1. 2. 3. 4. 5.]
데이터 형식: float32

 

asarray() 함수 사용하기

asarray() 함수는 기존 배열과 dtype을 인수로 받아 동일한 데이터를 가지는 새로운 배열을 생성합니다.

 

예를 들어, 다음과 같은 코드를 실행해보겠습니다.

import numpy as np

# 정수형 배열 생성
arr1 = np.array([1, 2, 3, 4, 5])

# 데이터 형식 변경 전 배열 정보 출력
print("원래 배열 정보:", arr1)
print("데이터 형식:", arr1.dtype)

# 배열 요소의 데이터 유형을 변경하여 새로운 배열 생성
arr2 = np.asarray(arr1, dtype=float)

# 데이터 형식 변경 후 배열 정보 출력
print("데이터 형식 변경 후 배열 정보:", arr2)
print("데이터 형식:", arr2.dtype)

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

원래 배열 정보: [1 2 3 4 5]
데이터 형식: int32
데이터 형식 변경 후 배열 정보: [1. 2. 3. 4. 5.]
데이터 형식: float64

dtype 속성 사용하기

dtype 속성을 사용하여 배열의 데이터 타을 변경할 수도 있습니다. 

 

예를 들어, 다음과 같은 코드를 실행해보겠습니다.

import numpy as np

# 정수형 배열 생성
arr1 = np.array([1, 2, 3, 4, 5])

# 데이터 형식 변경 전 배열 정보 출력
print("원래 배열 정보:", arr1)
print("데이터 형식:", arr1.dtype)

# 배열 요소의 데이터 유형을 변경하여 새로운 배열 생성
arr2 = arr1.astype(float)

# 데이터 형식 변경 후 배열 정보 출력
print("데이터 형식 변경 후 배열 정보:", arr2)
print("데이터 형식:", arr2.dtype)

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

원래 배열 정보: [1 2 3 4 5]
데이터 형식: int32
데이터 형식 변경 후 배열 정보: [1. 2. 3. 4. 5.]
데이터 형식: float64
728x90
반응형

댓글