지수 표현 없이 숫자 출력하는 방법 - numpy 배열, 데이터프레임
들어가며
다음 예시와 같이 숫자가 매우 크거나 매우 작은 경우에는 읽기 쉽고 간결한 표현을 위해 지수 표기법으로 출력됩니다.
하지만, 데이터를 직관적으로 파악하기 어렵기 때문에, 일반적인 숫자 표현이 필요합니다. 이 글에서는 지수 표기법으로 출력된 숫자를 소수점으로 출력하는 방법에 대해 numpy 배열과 데이터프레임으로 분류하여 설명합니다.
Numpy 배열의 지수 표현
필요한 패키지인 numpy를 import 하고, 지수 표기로 표현된 배열을 임의로 생성하겠습니다.
import numpy as np
arr = np.array([1.23456789e-5, 1.23456789e+5])
지수 표현 제거
지수 표현을 제거하는 방법은 numpy의 set_printoptions를 활용합니다. suppress 옵션을 True로 설정하면 지수 표현 대신 일반적인 소수점 형태로 출력할 수 있습니다.
np.set_printoptions(suppress=True)
arr
지수 표현 복원
지수 표현을 복원하는 방법은 set_printoptions의 suppress 옵션을 False로 변경합니다. 다음과 같이 소수점 형태 대신 지수 표현으로 출력할 수 있습니다.
np.set_printoptions(suppress=False)
arr
여기서 주의할 점은 np.set_printoptions는 numpy 배열의 출력 형식을 설정하기 때문에 리스트에는 적용되지 않습니다. 지수 표현을 제거하려면 반드시 np.array()를 사용하여 numpy 배열로 변환해야 합니다.
데이터프레임의 지수 표현
위의 np.set_printoptions(suppress=True)는 데이터프레임에는 적용되지 않습니다. 데이터프레임의 지수 표현을 없애기 위해서는 pandas의 옵션을 활용해야 합니다.
다음과 같이 pandas의 float_format을 활용하여 지수 표현을 제거합니다.
import pandas as pd
pd.options.display.float_format = '{:.6f}'.format
df의 describe를 예시로 옵션 적용 전과 후를 비교하면 다음과 같습니다.
import pandas as pd
display(df.describe())
pd.options.display.float_format = '{:.6f}'.format
df.describe()
'Python' 카테고리의 다른 글
[파이썬] MNIST 손글씨 숫자 이미지 분류 딥러닝 모델 구현 (0) | 2024.12.29 |
---|---|
[파이썬] 파이썬으로 텍스트를 이모지로 변환하는 방법 - emoji (0) | 2024.12.26 |
[파이썬] 도커에서 파이썬 스크립트 차례대로 실행하는 방법 (1) | 2024.12.11 |
[파이썬] 도커에서 파이썬 실행 w/ 도커 설치, 이미지 빌드 (3) | 2024.11.25 |
[파이썬] PostgreSQL DB 연동 - DB 연결 및 조회, psycopg2 (1) | 2024.11.20 |