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

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

14540  
목차
  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

 


분류 제목
module Python - cmath.sinh(x) 메서드 -
module Python - cmath.sqrt(x) 메서드 -
module Python - cmath.tan(x) 메서드 -
module Python - cmath.tanh(x) 메서드 -
module Python - cmath.e 상수 - 오일러 상수 (2.71...)
module Python - cmath.inf 상수 - float 자료형의 무한대 상수 (= inf) 반환.
module Python - cmath.infj 상수 - complex 자료형의 무한대 상수 (= infj) 반환.
module Python - cmath.nan 상수 - float 자료형의 nan 상수 (= nan) 반환.
module Python - cmath.nanj 상수 - complex 자료형의 nan 상수 (= nanj) 반환.
module Python - cmath.pi 상수 - 원주율 (= 3.14...) 반환. (= 파이 상수)
module Python - cmath.tau 상수 - 원주율 2배 (= 6.28...) 반환. (= 타우 상수)
howto Python - digit 숫자 (0~9)를 정사각형 형태로 나열.
pandas Python - Pandas Intro (판다스 소개)
pandas Python - Pandas Start (설치/시작/버전확인)
pandas Python - Pandas Series (시리즈)
pandas Python - Pandas DataFrames (데이터프레임)
pandas Python - Pandas Read CSV (CSV 읽기)
pandas Python - Pandas Read JSON (JSON 읽기)
pandas Python - Pandas Analyzing DataFrames (데이터프레임 분석)
pandas Python - Pandas Cleaning Data (데이터 청소/정리)
23/24
목록
찾아주셔서 감사합니다. Since 2012