pandas의 극강의 라이브러리 Pandas Profiling

John
4 min readMar 11, 2020

--

퇴근 후 업무와 관련된 공부를 하려다가 너무 몸이 지쳐서 내가 자주 사용하는 pandas의 숨겨진 기능을 찾아보기로 했다. 그렇게 숨겨진 기능을 찾다가 발견하게 된 라이브러리는 데이터에 대한 overview를 제공해주는 Pandas Profiling이라는 라이브러리였다.

바로 사용해보도록 하자.

1. 설치

간단히 다음 코드를 따라하면 된다.

pip install pandas_profiling

2. 활용

import pandas as pd
import pandas_profiling
df = pd.read_csv('titanic/train.csv')
profile = df.profile_report()
profile

1) iFrame

놀랍다.. 데이터의 전체적인 overview를 확인할 수 있고,

여기서 Toggle details을 누르면, 더 상세한 정보가 나온다.

그 동안 EDA를 진행하면서 볼 수 있었던 데이터의 기본적인 분포에 대해서 확인할 수 있다.

또한 산점도까지 확인이 된다.

변수들의 분포와 missing value를 확인할 수 있다.

그리고 변수별 Correlation 까지 확인이 가능하고, 피어슨,스피어만 등 원하는 방식으로 상관 계수를 선택할 수 있다.

또한 head(),tail()을 통해서 확인했던 데이터의 생김새도 가볍게 파악할 수 있다.

2) Widget

이런 놀라운 기능들을 위젯으로 보기 편하게 압축해놓은 기능도 있다.

profile.to_widgets()

3) HTML 변환

만약 HTML로 변환하고 싶다면 to_file 함수를 사용하면 된다.
(json 형태도 가능하다.)

profile.to_file(output_file="test.html") # html
profile.to_file(output_file="test.json") # json

앞으로 EDA를 진행할 때 해당 라이브러리를 사용하면 좋을 것 같다. 물론 대용량의 경우 소요시간이 얼마나 걸릴 지는 모르겠지만, 굉장히 유용하게 쓰일 수 있을 것으로 생각된다.

참고

--

--

John
John

Written by John

기술적인 성장을 희망합니다

No responses yet