파이썬 데이터 분석, EDA를 도와주는 패키지-sweetviz!

2020. 9. 15. 06:30

데이터 분석을 하기 위해 꼭 거쳐야 하는 과정 중의 하나는 EDA다. 개인적으로 데이터 분석은 데이터를 확인하기 위해 지루하게 많은 반복작업을 거치는 과정이라고 생각한다. 이러한 과정을 최대한 빠르고 효율적으로 하기 위해 도와주는 여러 툴들이 있다. 파이썬 패키지에도 EDA작업을 쉽게 할 수 있도록 도와주는 패키지가 있다. 오늘은 sweetviz 패키지에 대해서 알아보도록 하겠다.


sweet_viz



1. sweetviz란?

sweetviz는 데이터 프레임에 대해 자동으로 보고서를 만들어주는 패키지이다. 크게 analyze와 compare함수로 이루어져 있다. (compare_infra함수도 있지만, 데이터프레임을 compare함수로 대체가 가능하다.) analyze는 하나의 데이터셋을 비교하는 것이고, compare는 2개의 데이터셋을 서로 비교하는 것이다. 하나의 데이터프레임에서 비교하고자 하는 칼럼이 있다면, 2개의 데이터셋으로 나눠서 비교할 수도 있다.


2. 사용하기 전에...

1) sweetviz 설치하기

sweetviz는 'pip install sweetviz' 명령으로 쉽게 설치가 가능하다. 하지만, 의존된 패키지가 많아 인터넷이 연결되지 않은 곳에서는 설치가 쉽지 않다. 관련된 패키지의 용량이 상당하고, 관련 패키지를 설치하다가 에러가 발생하기도 한다.


2) 데이터 타입을 맞춰추자

sweetviz는 데이터 칼럼의 타입에 따라, 다른 형태의 보고서를 만들어주기 때문에 보고서를 생성하기 전에 데이터 타입을 맞춰주는 것이 좋다.


3. 사용해보기

부동산 데이터를 수집하여 sweetviz로 보고서를 만들어보았다. 부동산 데이터를 수집하는 방법은 아래 포스팅을 참조해보자. 2020년 6월 구로구 아파트 매매 거래 데이터를 이용해보았다.
( 참조: 가장 쉬운 아파트 실거래가 조회하고, 데이터 수집하는 방법은?! )


데이터 타입을 맞추고 analyze함수를 이용해보았다.

df["전용면적"]=df["전용면적"].astype(float)

df["층"]=df["층"].astype(int)

df["건축년도"]=df["건축년도"].astype(int)


my_report=sweetviz.analyze(df)

my_report.show_html()


sweet_viz_보고서

( 보고서 일부 캡처 화면 )



feat_cfg 파라미터에 거래일은 분석에서 생략하고, 전용면적은 문자열로 간주하고 분석하도록 옵션을 넣어보았다. target_feat에 숫자형이나 불리언 데이터 타입 변수를 넣을 수 있다. 변수를 넣으면, 아래와 같이 해당 변수의 값이나 분포를 추가로 확인할 수 있다.


my_report=sweetviz.analyze(df,

                           feat_cfg = sweetviz.FeatureConfig(skip="거래일", force_text=["전용면적"]),

                           target_feat="거래금액")

my_report.show_html()


타겟추가

( 보고서 일부 캡처 화면 )


comparte함수를 이용하면, 두 데이터를 비교할 수 있다. 신도림동과 구로동으로 나눠서 데이터를 비교해보았다.


df_gr=dict(list(df.groupby("법정동")))

my_report=sweetviz.compare([df_gr["구로동"],"guro"], [df_gr["신도림동"],"sindorim"],

                           feat_cfg = sweetviz.FeatureConfig(skip="거래일"),

                           target_feat="거래금액")

my_report.show_html()


compare함수

( 보고서 일부 캡처 화면 )



더 자세한 사용방법은 sweetviz 깃허브 페이지를 참조하기 바란다.
( 참조: sweetviz 깃허브 페이지 바로가기 )


sweetviz는 데이터를 빠르게 훑어보기에 좋은 툴이다. 각 변수별로 분포와 그래프를 그려주기 때문에, 귀찮게 코딩할 일이 많이 줄어든다. 다만, 외국에서 개발된 패키지이다 보니 일부 그래프에서 한글이 깨져서 보인다. 한글 폰트가 맞지 않는 듯 하다.



오늘은 이렇게 파이썬 데이터 분석, EDA를 도와주는 패키지인 sweetviz에 대해 알아보았다. 갈수록 데이터를 분석하고 시각화하는 일은 쉬워지는 듯 하다. 앞으로 더 많은 좋은 도구들이 나오길 바래본다.

댓글()
  1. Favicon of https://zephyrus1111.tistory.com BlogIcon 분석가꽁냥이 2020.09.15 11:33 신고 댓글주소  수정/삭제  댓글쓰기

    이런 것도 있군요~ 한번 써봐야겠어요 ^0^
    좋은 정보 감사합니다~

  2. Favicon of https://stocktalk.tistory.com BlogIcon 이웃집주식남 2020.09.15 13:27 신고 댓글주소  수정/삭제  댓글쓰기

    감사합니다. 설치해보고 따라해보겠습니다.