데이터 분석 입문을 위한 기초적인 파이썬 내용을 다룹니다. 데이터 분석은 주로 파이썬의 라이브러리인 판다스를 활용해 이루어지며, 이를 위해 기본적인 파이썬 개념에 대한 이해가 필요합니다. 하지만 이것은 파이썬을 완벽하게 숙달해야 한다는 의미는 아닙니다. 그렇기에 판다스와 데이터 분석에 입문할 수 있도록 핵심 파이썬 개념을 간략하게 제공할 것입니다.
3.2. 실수
부동 소수점 자료형(float)
실수는 정수와 달리 소수점을 포함하는 숫자를 의미합니다. 파이썬에서는 이러한 실수를 주로 부동 소수점 자료형(float)으로 처리합니다. 부동 소수점은 실수를 유효숫자와 지수로 분리하여 표현하는 방식으로, 소수점을 이동해 정수 부분을 한 자릿수로 맞추고 지수를 통해 숫자의 크기를 나타냅니다. 예를 들어, 숫자 100.011을 부동 소수점으로 표현하면 1.00011 × 10²와 같이 나타낼 수 있습니다. (파이썬에서는 2진법 기반의 부동 소수점 형식으로 처리되지만, 이해를 돕기 위해 10진법 예시를 사용했습니다.)
실수를 부동 소수점 방식으로 처리하는 장점은 매우 큰 수와 매우 작은 수를 효율적으로 표현할 수 있고, 메모리를 절약하면서도 넓은 범위의 실수를 처리할 수 있다는 점입니다.
부동 소수점의 유의사항
중요한 점은 부동 소수점이 실수를 메모리에 저장하는 방법일 뿐이며, 출력 시에는 일반적인 실수 형태로 나타난다는 것입니다. 즉 실수형 자료를 부동 소수점 자료형과 동일시해도 무방합니다.
100.011 # 실수가 부동 소수점 형식으로 출력되는 것은 아님
또한, 부동 소수점은 표현할 수 있는 수의 범위가 넓다는 장점이 있지만 매우 엄밀하지는 않습니다. 부동 소수점 연산에서는 때때로 오차가 발생할 수 있습니다. 예를 들어 0.1 + 0.2를 계산했을 때 기대한 0.3이 아닌 0.30000000000000004와 같은 값이 나올 수 있습니다.
# 부동 소수점 자료형의 한계
0.1 + 0.2
0.30000000000000004
이는 0.1이나 0.2와 같은 수가 2진법으로 정확히 표현되지 않기 때문에 발생하는 부동 소수점 표현 방식의 한계입니다. 이러한 이유로 정확한 소수 계산이 필요한 경우, 파이썬의 기본 부동 소수점 연산만으로는 충분하지 않을 수 있습니다. 엄밀한 계산이 필요할 때는 decimal 등의 라이브러리를 사용하여 문제를 해결하는 것이 일반적입니다.
type 함수로 부동 소수점 자료형 확인하기
파이썬에서는 type 함수를 사용하여 데이터의 자료형을 확인할 수 있습니다. 이를 통해 특정 값이 부동 소수점 자료형인지 여부를 알 수 있습니다. 예를 들어 다음 코드는 실수형 변수를 확인하는 방법을 보여줍니다.
# type 함수로 자료형 확인
num = 13.01
type(num)
float
위 코드에서 type 함수를 사용해 변수 num이 실수임을 확인할 수 있습니다. type 함수는 대부분의 자료형을 확인할 수 있으므로, 이후에는 자료형을 확인하는 과정을 생략하겠습니다.
float 함수로 실수형 변환하기
다른 데이터 유형을 실수형으로 변환할 때는 float 함수를 사용할 수 있습니다. 예를 들어, 정수나 문자열 형태의 숫자를 실수형으로 변환할 수 있습니다.
# 문자열을 실수로 변환
a = '1.23'
float(a)
판다스에서 사용하는 float 자료형
※ 판다스는 기초 파이썬과 직접 관련이 없으므로, 추후 판다스를 학습한 후에 확인하셔도 됩니다.
판다스에서 정수 자료형으로 int64를 사용하는 것처럼, 실수 자료형으로는 float64를 사용합니다. float64는 부동 소수점 형식을 기반으로 하여 int64보다 훨씬 더 큰 범위의 수를 다룰 수 있습니다. 이러한 특성 덕분에 판다스로 데이터 분석을 할 때 큰 수를 처리해야 하는 경우, 정수를 실수(float64)로 변환하여 사용하는 경우가 많습니다.
유튜브에서 판다스 강의 중입니다.
https://www.youtube.com/@KimPandas
'판다스 > 기초 파이썬' 카테고리의 다른 글
[python] 3.4. 자료형 - 불(bool) (0) | 2024.10.30 |
---|---|
[python] 3.3. 자료형 - 문자열 (0) | 2024.10.30 |
[python] 3.1. 자료형 - 정수 (3) | 2024.10.28 |
[python] 2. 변수 (4) | 2024.10.27 |
[python] 1. 코드의 작성, 실행 및 출력 (2) | 2024.10.27 |