안녕하세요~ 꽁냥이에요. Pandas의 데이터프레임(DataFrame)은 엑셀과 비슷한 기능을 제공합니다. 셀 안에 막대그래프를 넣는 것, 소수점 자리수 조절, 칼럼 숨기기 등과 같은 것처럼 말이죠.
이번 포스팅에서는 이러한 기능을 소개하려고 합니다. 여기서 다루는 내용은 다음과 같아요.
1. 데이터프레임(DataFrame)에 바 차트 넣기
엑셀에서 셀 안에 막대 그래프(또는 바 차트)를 넣는 것처럼 데이터프레임에도 셀 안에 바 차트를 넣을 수 있습니다.
먼저 이번 포스팅에서 필요한 Pandas와 Numpy를 임포트해줍니다.
import pandas as pd
import numpy as np
다음으로 샘플용 데이터프레임를 생성해줍니다.
np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
axis=1)
df.iloc[3, 3] = np.nan
df.iloc[0, 2] = np.nan
데이터프레임에는 style.bar 를 이용하여 셀 안에 바 차트를 표시할 수 있습니다. subset 인자에 바 차트를 표시할 칼럼을 넣어주고 color인자에 각각 음수 영역, 양수 영역 막대 색상을 지정할 수 있습니다. 꽁냥이는 align을 이용하여 중앙에서 막대가 시작하도록 했습니다.
df.style.bar(subset=['A,B'],align='mid',color=['#a103fc','#03e3fc'])
보시는 바와 같이 셀 안에 바 차트가 생성된 것을 알 수 있습니다.
2. 소수점 자리수 조절하여 표시하기
가끔 DataFrame에서는 자리수가 필요 이상으로 많아져서 보기가 불편한 경우가 있습니다. 이때에는 표시할 소수점 자리수를 지정해주는 것이 좋습니다.
소수점 자리수는 style.set_precision을 이용하여 조절할 수 있습니다. 꽁냥이는 소수점 넷째 자리까지만 표시하도록 했습니다.
df.style.set_precision(4)
style.set_precision으로 소수점 자리수를 조절하는 것은 글로벌 옵션은 아닙니다. 만약 글로벌하게 모든 데이터프레임에 대해서 소수점을 넷째 자리까지 표시하고 싶다면 아래와 같이 pd.set_option을 사용해야 합니다.
pd.set_option('display.precision', 4)
3. 칼럼 숨기기
데이터프레임에서는 style.hide_index를 이용하여 인덱스 칼럼을 숨길 수 있습니다.
df.style.hide_index()
일반 칼럼을 숨기고 싶을 때에는 style.hide_columns을 이용하면 됩니다. 숨기고 싶은 칼럼을 리스트로 넘겨주면 됩니다.
df.style.hide_columns(['E']) ## E 칼럼을 숨긴다.
이번 포스팅에서는 데이터프레임이 제공하는 부가적인 기능을 알아보았습니다. 이게 많이 써먹을 일은 없어 보이지만 그래도 알아두면 쓸데 있는 지식(?)인 것 같아요. 다음에도 재밌는 주제로 찾아뵐게요. 기대해주세요.
참고자료
Pandas 문서 - https://pandas.pydata.org/docs/user_guide/index.html#user-guide
'데이터 분석 > 데이터 전처리' 카테고리의 다른 글
[Pandas] 21. 칼럼에 특정 값을 채워 넣기(칼럼 수정하기) (1043) | 2021.07.03 |
---|---|
[Pandas] 20. Pandas Combine을 이용하여 데이터 업데이트/덮어쓰기 (834) | 2021.06.16 |
[Pandas] 19. concat vs append 성능 차이 알아보기 (1476) | 2021.05.20 |
[Pandas] 18. 두 날짜 사이의 날짜 생성하기. (0) | 2021.02.22 |
[Pandas] 17. 범주형 데이터 가변수/더미 변수(dummy variable)로 바꾸기 (0) | 2021.01.19 |
댓글