본문 바로가기
공부한 것들../Numpy

Numpy :: 데이터 타입

by bottle-an00 2024. 9. 12.

# Numpy 데이터 타입

 

Numpy 데이터 타입은 아래와 같이 정리할 수 있다. 

  • numpy.int (정수)
  • numpy.float (실수)
  • numpy.complex (복소수)
  • numpy.bool (불리언)
  • numpy.object (파이썬 객체)
  • numpy.str (문자열)

numpy.int와 numpy.float의 경우 뒤에 bit를 의미하는 숫자를 붙여 특정 값 범위만큼의 수 표현이 가능한다.

(ex:numpy.int16은 Integer(-32768 ~ 32767)범위의 수를 표현 가능, numpy.int8은 Byte(-128 ~ 127) 범위의 수를 표현 가능)

 

# ndarray 요소 데이터 타입 변경 방법

 

# 방법 1 :: ndarray 생성시 인자로 dtype을 지정하는 방식

import numpy as np

data = [1,2,3]

arr_set_entry_str = np.array(data, dtype=np.str)

arr_set_entry_complex = np.array(data, dtype=np.complex)

print("set entry Str :: ",arr_set_entry_str)
print("\nset entry Complex :: ",arr_set_entry_complex)
set entry Str ::  ['1' '2' '3']

set entry Complex ::  [1.+0.j 2.+0.j 3.+0.j]

 

#방법 2 :: numpy.astype()활용하여 data type 변경

Numpy API Reference :: numpy.astype()

 

# numpy.astype() 파라미터

  • x : input은  NumPy 배열이며 array_like 타입은 여기서 지원되지 않는다.
  • dtype: output 배열의 데이터 타입. 입력 배열 x를 변환할 데이터 타입을 지정한다.
  • copy : 배열을 복사할지 여부를 지정하는 옵션이다. 기본값은 True이며, 값이 True라면 지정한 데이터 타입이 입력 배열과 일치하더라도 항상 새로 할당된 배열을 반환한다. 값이 False이면 지정한 데이터 타입이 입력 배열과 일치하면 입력 배열을 그대로 반환. 일치하지 않으면 새로운 배열을 반환한다.
  • device: 반환된 배열을 저장할 장치를 지정하는 옵션이다. 기본값은 None이며, "cpu"만 허용됨. 이 옵션은 Array-API 호환성을 위해 제공된다.

 

# 예시코드

import numpy as np 

origin_data = np.arange(0, 1, 0.1)
print ("Origin Data :: ",origin_data)
print("Origin Data Dtype :: ", origin_data.dtype)

changed_data = origin_data.astype(int)
print("\nChanged Data :: ", changed_data)
print("Changed Data Dtype :: ", changed_data.dtype)

#np.astype() 적용 후 원본 데이터 변화 유무 확인
print("\nOrigin_Data :: ", origin_data)
Origin Data ::  [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
Origin Data Dtype ::  float64

Changed Data ::  [0 0 0 0 0 0 0 0 0 0]
Changed Data Dtype ::  int64

Origin_Data ::  [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

#np.astype()을 적용하더라도 원본 데이터는 변하지 않는 것을 확인할 수 있다.

'공부한 것들.. > Numpy' 카테고리의 다른 글

Numpy 집계 함수  (0) 2024.09.12
Numpy 기본 연산  (0) 2024.09.12
Numpy ndarray shape 변경  (0) 2024.09.12
Numpy 자료구조:: ndarray 생성  (2) 2024.09.11
Numpy 자료구조 :: ndarray (N- Dimension Array)  (0) 2024.09.09