목차
Python 데이터타입 (= 자료형)
NumPy 데이터타입
배열 데이터타입 확인
정의된 데이터타입으로 배열 만들기
데이터타입 변환 불가한 요소 존재 시 에러 발생
기존 배열 데이터타입 변환
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
주소 복사
랜덤 이동
최신댓글