본문 바로가기
데이터 분석/데이터 전처리

[Pandas Tip] 1. Pandas Tip

by 부자 꽁냥이 2021. 5. 27.

안녕하세요~ 꽁냥이에요. Pandas의 데이터프레임(DataFrame)은 엑셀과 비슷한 기능을 제공합니다. 셀 안에 막대그래프를 넣는 것, 소수점 자리수 조절, 칼럼 숨기기 등과 같은 것처럼 말이죠.

 

이번 포스팅에서는 이러한 기능을 소개하려고 합니다. 여기서 다루는 내용은 다음과 같아요.

 

1. 데이터프레임(DataFrame)에 바 차트 넣기

2. 소수점 자리수 조절하여 표시하기

3. 칼럼 숨기기


   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

 


댓글


맨 위로