• 회원가입
  • 로그인
  • 구글아이디로 로그인

[numpy] PY - NumPy Data Types (데이터타입) ★ - 종류 / 확인 / 변환.

14075  
목차
  1. Python 데이터타입 (= 자료형)
  2. NumPy 데이터타입
  3. 배열 데이터타입 확인
  4. 정의된 데이터타입으로 배열 만들기
  5. 데이터타입 변환 불가한 요소 존재 시 에러 발생
  6. 기존 배열 데이터타입 변환

 

Python 데이터타입 (= 자료형)

 

strings

텍스트. (예) "hz" ※ 문자열은 따옴표로 감싸야 함.


integer

정수. (예) -2, -1, 0, 1, 2


float

실수. (예) 1.2, 42.42


boolean

참거짓. (예) True, False


complex

복소수. (예) 1.0 + 2.0j, 1.5 + 2.5j

 

 

NumPy 데이터타입

※ 몇 가지 데이터 유형이 더 추가됨.

※ 문자 1개로 데이터 유형을 표시함.

※ 대소문자 구별.

 

i - integer (정수)

b - boolean (참거짓)

u - unsigned integer (부호없는 정수)

f - float (소수)

c - complex (복소수)

m - timedelta (타임델타)

M - datetime (날짜시간)

O - object (객체)

S - string (문자열)

U - unicode string (유니코드 문자열)

V - void (다른 유형에 대한 고정된 메모리 덩어리) 

 

 

배열 데이터타입 확인

 

NumPy 배열 객체의 dtype 속성 : 배열의 데이터 유형 반환.

 


[예제1] - 정수

 

import numpy as np

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

print(arr.dtype)

 

결과값: int32 (또는, int64

※ 시스템에 따라 32, 64 부분 다름.


[예제2] - 유니코드 문자열

 

import numpy as np

arr = np.array(['HTML', 'CSS', 'JS'])

print(arr.dtype)


결과값: <U4

※ 숫자 4 부분은 문자열 요소 중 가장 긴 길이 의미.

 

정의된 데이터타입으로 배열 만들기

1.

array() 함수로 배열 생성 시, 

선택적 매개변수인 dtype 이용해 데이터유형 정의 가능.


[예제] 문자열 타입으로 배열 생성.

import numpy as np

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

print(arr) # [b'1' b'2' b'3' b'4']

print(arr.dtype) # |S1

 


2.

i, u, f, S, U 데이터 유형 경우. 크기도 지정 가능.

 

[예제] 

import numpy as np

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

print(arr) # [1 2 3 4]

print(arr.dtype) # int32

 

※ i8 경우 결과값 int 64

※ i 뒤에 아무 숫자나 넣으면 에러 발생.

 

데이터타입 변환 불가한 요소 존재 시 에러 발생

 

지정 타입으로 변환 불가한 요소 존재 시, ValueError 발생.

 


[예제]

 

import numpy as np

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

 

결과값: ValueError: invalid literal for int() with base 10: 'a'

 

기존 배열 데이터타입 변환

 

astype() 함수 : 배열 복사본 만들고 데이터유형을 매개변수로 지정.

※ 데이터유형 지정은 'f' , 'i' 등 형식, float, int 등 형식 둘 다 가능.

※ 기존 배열을 유지한 채 데이터유형 변경하는 가장 좋은 방법임.

 


[예제1] i 매개변수 사용해 데이터유형을 (실수 → 정수)로 변경.

 

import numpy as np

arr = np.array([1.1, 2.1, 3.1])

newarr = arr.astype('i')

print(arr) # [1.1 2.1 3.1]

print(newarr) # [1 2 3]

print(newarr.dtype) # int32

 


[예제2] int 매개변수로 데이터유형을 (실수 → 정수)로 변경.

 

import numpy as np

arr = np.array([1.1, 2.1, 3.1])

newarr = arr.astype('int')

print(arr) # [1.1 2.1 3.1]

print(newarr) # [1 2 3]

print(newarr.dtype) # int32

 


[예제3] bool 매개변수로 데이터 유형을 (정수 → 참거짓) 변경.

 

import numpy as np

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

newarr = arr.astype(bool)

print(arr) # [1 0 3]

print(newarr) # [ True False  True]

print(newarr.dtype) # bool



PS. 더 자세히 보기.

https://numpy.org/devdocs/reference/arrays.dtypes.html

 


분류 제목
basic Python - Home (입문) - 이념 / 추천 링크
basic Python - Intro (소개) - 용도・특징
basic Python - Start (시작) - 파이썬 설치/실행/버전확인
basic Python - Syntax (구문) - 들여쓰기・변수・주석
basic Python - Comment (주석)
basic Python - Variable (변수)
basic Python - DataType (데이터타입) - 자료형
basic Python - Number (숫자)
basic Python - Casting (데이터 타입 변경) - 자료형 변환
basic Python - String (문자열) ★ ※ 색인번호 (= 인덱스) 개념.
basic Python - Boolean (참거짓)
basic Python - Operator (연산자)
basic Python - List (리스트) ★ - 변경 가능한 모음
basic Python - Tuple (투플/튜플) - 변경 불가 모음
basic Python - Set (셋/세트) - '순서(=색인)' 없고, 중복 허용 않는 데이터 모음.
basic Python - Dictionary (딕셔너리) - Key:value 쌍으로 구성된 모음
basic Python - if...elif...else - (이프조건문) ※ 3항연산자 = 삼항연산자
basic Python - While (와일반복문) - 와일문
basic Python - For (포반복문) ★★★★★
basic Python - Function (함수)
1/24
목록
찾아주셔서 감사합니다. Since 2012