pandas 출력 포맷팅
FAQ - pandas 출력 포맷팅¶
- Q: pandas 포맷팅 - 숫자에 e가 표시여부, 소수점 자리수 등을 지정하여 읽기 쉽게 하고자 합니다
- A: pd.set_option()으로 상세한 조정이 가능합니다
2017 https://financedata.github.io¶
In [1]:
import pandas as pd
import numpy as np
In [2]:
df = pd.DataFrame()
df['A'] = np.random.rand(5) * 10000
df
Out[2]:
숫자 표현에 e는 10 승수를 표현합니다. 이런 표기법을 과학적 표기법(Scientific notation)이라고 하며 아주 큰 수나, 아주 작을 수를 표현하는데 효과적이다.
pandas.option 객체 pandas.set_option() 함수를 사용하여 출력 형태를 다양하게 지정할 수 있다. 예를 들어, 소수점 이하 2자리만 표현하고 싶다면 아래와 같이 할 수 있다. 이때, f 혹은 e 를 사용하여 과학적 표기법을 쓸지 여부를 지정할 수 있다.
In [3]:
# 과학적 표기법(Scientific notation)을 사용하지 않는 경우
pd.options.display.float_format = '{:.2f}'.format
df
Out[3]:
In [4]:
# 과학적 표기법(Scientific notation)
pd.set_option('display.float_format', '{:.2e}'.format)
df
Out[4]:
In [5]:
pd.set_option('display.float_format', '{:.2f}'.format) # 항상 float 형식으로
pd.set_option('display.float_format', '{:.2e}'.format) # 항상 사이언티픽
pd.set_option('display.float_format', '${:.2g}'.format) # 적당히 알아서
지정한 표기법을 원래 상태로 돌리려면 None을 지정한다.
In [6]:
pd.set_option('display.float_format', None)
df
Out[6]:
댓글
Comments powered by Disqus