파이썬(Python)/ML & Deep Learning
[데이터 타입] 데이터 타입 뒤 숫자의 의미 (float16, int32)
DA Damla
2025. 1. 29. 16:46
<목차>
1. [기본 정의] 데이터 타입 설명
2. [본문] 비트의 의미와 크기에 따른 장단점
1. [기본 정의] 데이터 타입 설명
파이썬에서 기본적으로 활용하는 데이터 타입이 있음. 대표적인 타입으로는 아래 4개가 있음
- Boolean (bool) : 논리형 True | False 값으로 나타낸 데이터 형식
- String (str) : 문자열 (문자일 경우 따옴표로 데이터 값이 출력됨)
- Float (float) : 부동소수점 (Floating point, 소수점이하의 값을 포함한 형태) _ ex) 1.2345687
- Integer (int) : 정수형 (integer, 정수형태로 소수점이하 값을 포함하지 않는 형태) _ ex) 12345
- Complex(complex) : 복소수 표현 (complex, 실수와 허수로 이루어진 데이터 타입) _ ex) 1 + 2j
각각의 형태는 필요에 따라 정제 처리 목적으로 혹은 자동으로 데이터 타입이 파이썬에서 지정되고 변경됨.
<주의사항>
- 데이터 정제에 있어서 데이터 타입이 중요함!
- 숫자형(float 혹은 int에 해당될 경우 덧셈과 같은 연산이 가능함
- 단, 문자형끼리도 덧셈을 사용한 컬럼 혹은 연산이 '가능'은 함.
- 하지만 문자형끼리 더할 경우, 우리가 아는 덧셈이 아니라 그냥 그형태 그대로 모양이 더해지니 주의가 필요함!
- 단, 문자형끼리도 덧셈을 사용한 컬럼 혹은 연산이 '가능'은 함.
# int의 연산(덧셈)
a = 1
b = 4
print (a + b)
=> 5
# str의 연산(뎃셈)
a = "문자형을"
b = "더하면"
print (a + b)
=> "문자형을 더하면"
2. [본문] 비트의 의미와 크기에 따른 장단점
데이터 타입을 더 많이 구분하면 각 데이터타입에 숫자(비트)가 붙은 형태로 나뉨.
ex) float16, float32, float64
ex) int8, int16, int32, int64
각 형태의 뒷 숫자에 주목을 하면, 각 숫자가 가지는 의미는 정밀도와 메모리 크기의 차이를 의미한다
[표1,2] float & int로 알아보는 숫자(비트)의 차이점
- int는 float와는 달리 정밀도 개념은 없으나 표현가능한 숫자의 범위가 중요함
- Float로 자세한 설명을 하자면,
- float32 : 일반적으로 사용함 (64보다는 적당한 정밀도와 64보다 연산속도가 빠르기 때문)
- float64 : 금융권이나, 과학 시뮬레이션을 위해서는 높은 정밀도를 위하여 를 사용함
- float16 : 만약 메모리가 부족해서 높은 메모리를 사용할 수 없을 때 사용
- 즉, 딥러닝 모델에 따라 혹은 사용하는 메모리의 크기에 따라 선택하여 데이터 형태를 사용함
- int의 경우에도 float와 마찬가지로 이해할 수 있음
- int8 & int16 : 작은 숫자를 다룰 때 사용
- unit8 : 이미지 데이터에서 사용됨
- int32 : 일반적인 정수 연산시 사용
- int64 : 매우 큰 정수를 다룰 때 (금융, 암호화 목적으로 활용됨)
- int8 & int16 : 작은 숫자를 다룰 때 사용