데이터 분석가 Damla's blog

[데이터 타입] 데이터 타입 뒤 숫자의 의미 (float16, int32) 본문

파이썬(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로 알아보는 숫자(비트)의 차이점

[표1] float 구분 (출처: Chat GPT)
[표2] int 구분 (출처: Chat GPT)

  • int는 float와는 달리 정밀도 개념은 없으나 표현가능한 숫자의 범위가 중요함
  • Float로 자세한 설명을 하자면,
    • float32  : 일반적으로 사용함 (64보다는 적당한 정밀도와 64보다 연산속도가 빠르기 때문)
    • float64 : 금융권이나, 과학 시뮬레이션을 위해서는 높은 정밀도를 위하여 를 사용함
    • float16 : 만약 메모리가 부족해서 높은 메모리를 사용할 수 없을 때 사용
      • 즉, 딥러닝 모델에 따라 혹은 사용하는 메모리의 크기에 따라 선택하여 데이터 형태를 사용함
  • int의 경우에도 float와 마찬가지로 이해할 수 있음
    • int8 & int16 : 작은 숫자를 다룰 때 사용
      • unit8 : 이미지 데이터에서 사용됨
    • int32 : 일반적인 정수 연산시 사용
    • int64 : 매우 큰 정수를 다룰 때 (금융, 암호화 목적으로 활용됨)