0Pricing
Learn AI with Python · 강의

데이터 과학을 위한 Python 데이터 형식

int, float, complex, bool, str을 통해 정밀도와 형식 선택이 데이터 분석에 미치는 영향을 학습합니다.

데이터 과학을 위한 Python 데이터 형식은(는) CoddyKit의 무료 Learn AI with Python 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn AI with Python 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.

데이터 과학의 수

Python에는 두 가지 핵심 숫자 유형이 있습니다. int는 임의 정밀도의 정수이고, float은 64비트 IEEE 754 부동소수점 수입니다. 적절한 유형을 선택하면 미묘한 데이터 버그를 방지할 수 있습니다.

int는 정확하고 제한이 없습니다

Python의 정수에서는 오버플로가 발생하지 않습니다. 메모리가 허용하는 만큼 커질 수 있으므로 정확한 개수나 큰 팩토리얼을 다룰 때 유용합니다.

big = 2 ** 200
print(big)
print(type(big))   # <class 'int'>

float 정밀도의 함정

부동소수점 수는 모든 소수를 정확하게 표현할 수 없습니다. 대표적인 예로 0.1 + 0.2는 정확히 0.3이 아닙니다.

print(0.1 + 0.2)          # 0.30000000000000004
print(0.1 + 0.2 == 0.3)   # False

부동소수점 수를 안전하게 비교하기

부동소수점 수를 ==로 테스트하지 마세요. 대신 허용 오차와 함께 math.isclose를 사용하세요.

import math
print(math.isclose(0.1 + 0.2, 0.3))  # True

금액에는 Decimal 사용하기

통화에는 정확한 10진수 값을 저장하는 decimal.Decimal을 사용하세요. 부동소수점 수의 오류를 물려받지 않도록 항상 부동소수점 수가 아닌 문자열에서 Decimal을 만드세요.

from decimal import Decimal
price = Decimal("0.10") + Decimal("0.20")
print(price)   # 0.30

bool은 int의 하위 클래스입니다

Python에서 True는 1과 같고 False는 0과 같습니다. 따라서 불리언 값을 합산해 일치하는 항목의 개수를 셀 수 있습니다.

mask = [True, False, True, True]
print(sum(mask))      # 3 matches
print(True + True)    # 2

불리언으로 개수 세기

불리언을 정수처럼 다루는 동작은 NumPy와 판다스 어디에서나 사용됩니다. 불리언 마스크를 합산하면 조건을 만족하는 행이 몇 개인지 셀 수 있습니다.

ages = [12, 20, 35, 17, 40]
adults = sum(a >= 18 for a in ages)
print(adults)   # 3

type()으로 유형 확인하기

type(x)는 값의 정확한 클래스를 반환합니다. 열에 숫자 대신 문자열이 들어 있는 것처럼 예상과 다른 상황에서 유용합니다.

print(type(5))      # <class 'int'>
print(type(5.0))    # <class 'float'>
print(type("5"))    # <class 'str'>

isinstance()로 유형 확인하기

상속을 고려하므로 type ==보다 isinstance를 우선 사용하세요. 불리언 값은 정수 확인을 통과한다는 점에 유의하세요.

print(isinstance(5, int))        # True
print(isinstance(True, int))     # True (bool subclasses int)
print(isinstance(5.0, (int, float)))  # True

형 변환의 함정

유형을 섞으면 자동으로 형 변환이 조용히 일어납니다. 부동소수점 수의 정수 나눗셈 결과는 부동소수점 수가 되고, 숫자와 문자열을 연결하면 TypeError가 발생합니다. 데이터 형식은 초기에 정리하세요.

print(5 / 2)        # 2.5  (true division always float)
print(5 // 2)       # 2    (floor division)
# "id-" + 5         # TypeError
print("id-" + str(5))  # id-5

집계에서 발생하는 float의 예기치 않은 결과

많은 부동소수점 수를 더하면 작은 오류가 누적됩니다. 큰 데이터셋에서는 오차 누적을 줄이기 위해 쌍별 합산을 사용하는 NumPy를 우선 사용하세요.

vals = [0.1] * 10
print(sum(vals))    # 0.9999999999999999
# NumPy: np.sum(vals) is more numerically stable

빠른 확인

Python 유형을 얼마나 잘 이해했는지 테스트해 보세요.

복습

데이터 작업에 필요한 핵심 숫자 관련 사항입니다.

  • int는 정확하고 제한이 없습니다
  • float은 근삿값이므로 ==가 아니라 math.isclose를 사용하세요
  • 금액에는 Decimal("...")을 사용하세요
  • bool은 정수이므로 sum(mask)으로 개수를 셉니다
  • type()은 클래스를 보여 주고, isinstance()는 상속을 고려합니다
  • 나눗셈과 연결에서 조용히 일어나는 형 변환에 주의하세요

자주 묻는 질문

“데이터 과학을 위한 Python 데이터 형식” 강의는 무료인가요?

네 — “데이터 과학을 위한 Python 데이터 형식” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn AI with Python 강의 전체를 잠금 해제할 수 있습니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.

“데이터 과학을 위한 Python 데이터 형식”에서 뭘 배우나요?

int, float, complex, bool, str을 통해 정밀도와 형식 선택이 데이터 분석에 미치는 영향을 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Learn AI with Python을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Learn AI with Python을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Learn AI with Python은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“데이터 과학을 위한 Python 데이터 형식” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Learn AI with Python 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Learn AI with Python 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 가상 환경과 pip
  2. 데이터 과학을 위한 Jupyter 노트북
  3. 데이터 과학을 위한 Python 데이터 형식
  4. Python REPL 및 IPython 활용
← Learn AI with Python(으)로 돌아가기