본문 바로가기
파이썬/파이썬기본문법

파이썬 Numpy 데이터 유형(Data Type)

by flycoding 2023. 12. 7.
반응형

파이썬 데이터 유형

기본적으로 파이썬은 다음과 같은 데이터 유형을 갖는다:

  • string- 텍스트 데이터를 나타내는 데 사용되며 텍스트는 따옴표로 표시됩니다(예: "ABCD")
  • integer- 정수를 나타내는 데 사용됩니다. 예를 들어 -1, -2, -3
  • float - 실수를 나타내는 데 사용됩니다. 예를 들어 1.2, 42.42
  • boolean- True 또는 False를 나타내는 데 사용됩니다.
  • complex - 복잡한 숫자(예: 1.0 + 2.0j, 1.5 + 2.5j)를 나타내는 데 사용됩니다

 

파이썬 Numpy 데이터 유형

NumPy에는 몇 가지 추가 데이터 유형이 있으며 정수의 경우 i, 부호 없는 정수의 경우 u와 같이 한 문자로 된 데이터 유형을 말한다.

아래는 NumPy의 모든 데이터 유형과 이를 나타내는 데 사용된 문자 목록이다.

  • i - 정수
  • b - 부울
  • u - 부호 없는 정수
  • f-플로트
  • c - 복합플로트
  • m - 시간 델타
  • M - 날짜 시간
  • O - object
  • S - 문자열
  • U - 유니코드 문자열
  • V - 다른 유형의 메모리 청크 고정(void)

 

파이썬 Numpy 배열의 데이터 유형 검사

NumPy 배열 객체에는 배열의 데이터 유형을 반환하는 dtype이라는 속성이 있다:

배열 객체의 데이터 유형을 가져온다:

import numpy as np

arr = np.array([1, 2, 3, 4])

print("arr : \n", arr)

print('arr.dtype : ', arr.dtype)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 배열의 데이터유형 dtype - int64 활용 예제

 

 

문자열이 포함된 배열의 데이터 유형을 가져온다:

import numpy as np

arr = np.array(['apple', 'banana', 'cherry'])
print("arr : \n", arr)

print('arr.dtype : ', arr.dtype)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 배열의 데이터유형 dtype - U6 활용 예제

 

 

파이썬 numpy 정의된 데이터 유형으로 배열 생성하기

데이터 유형 문자열로 배열 만들기:

import numpy as np

arr = np.array([1, 2, 3, 4], dtype='S')

print('arr : \n', arr)
print('arr.dtype : ', arr.dtype)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 정의된 데이터 유형 배열 생성 dtype 활용 예제

 

i, u, f, S 및 U에 대해서도 크기를 정의할 수 있다.

데이터 유형이 4바이트인 배열을 정수로 만든다:

import numpy as np

arr = np.array([1, 2, 3, 4], dtype='i4')

print('arr : \n', arr)
print('arr.dtype : ', arr.dtype)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 정의된 데이터 유형 배열 생성 dtype 활용 예제

 

 

파이썬 numpy - 값이 변환할 수 없는 경우에는 어떻게 할까요?

요소를 캐스트할 수 없는 유형이 지정되면 NumPy는 ValueError를 발생시킨다.

ValueError: In Python ValueError는 함수에 전달된 인수 유형이 예기치 않은/잘못된 경우 발생한다.

'a'와 같은 정수가 아닌 문자열은 정수로 변환할 수 없습니다(오류가 발생합니다):

import numpy as np

arr = np.array(['a', '2', '3'], dtype='i')

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy ValueError 활용 예제

 

 

파이썬 Numpy 기존의 배열로 데이터 변환

기존 배열의 데이터 유형을 변경하는 가장 좋은 방법은 astype() 메서드를 사용하여 배열의 복사본을 만드는 것이다.
astype() 함수는 배열의 복사본을 만들고, 데이터 유형을 매개 변수로 지정할 수 있다.

데이터 유형은 Float의 'f', 정수의 'i' 등 문자열을 사용하여 지정하거나 Float의 경우 float, 정수의 경우 int와 같이 직접 데이터 유형을 사용할 수 있다.

'i'를 매개 변수 값으로 사용하여 데이터 유형을 float에서 정수로 변경:

import numpy as np

arr = np.array([1.1, 2.1, 3.1])
print("arr : \n", arr)


newarr = arr.astype('i')
print("newarr = arr.astype('i')")

print(newarr)
print("newarr : \n", newarr)
print("arr.dtype : ", arr.dtype)
print("newarr.dtype : ", newarr.dtype)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 데이터 유형 변환 astype() - 'i' 활용 예제

 

 

int를 매개변수 값으로 사용하여 데이터 유형을 float에서 정수로 변경한다:

import numpy as np

arr = np.array([1.1, 2.1, 3.1])
print("arr : \n", arr)

newarr = arr.astype(int)
print("newarr = arr.astype(int)")

print("newarr : \n", newarr)
print("arr.dtype : ", arr.dtype)
print("newarr.dtype : ", newarr.dtype)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 데이터 유형 변환 astype() - int 활용 예제

 

 

데이터 유형을 정수에서 부울로 변경:

import numpy as np

arr = np.array([1, 0, 3])
print("arr : \n", arr)

newarr = arr.astype(bool)
print("newarr = arr.astype(bool)")

print("newarr : \n", newarr)
print("arr.dtype : ", arr.dtype)
print("newarr.dtype : ", newarr.dtype)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 데이터 유형 변환 astype() - bool 활용 예제

 

지금까지 파이썬 numpy 데이터 유형에 대해서 살펴보았다.

numpy 데이터 항목의 값을 변환하는 것에 대해서도 살펴보았다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

댓글