성동2기 전Z전능 데이터 분석가 20일차[데이터 시각화]

2024. 6. 11. 16:30데이터분석 기술블로그

데이터 시각화는 데이터 분석 업무에서 중요한 일이다. 데이터를 통해 추세와 경향성이 드러나는 데이터의 특징을 이해하고 새로운 패턴이나 특징을 발견해서 새로운 인사이트를 얻을 수 있다. 더불어 업무 이해 관계자들과 커뮤니케이션 과정에서 시각화한 데이터를 가지고 소통하기에 협업에서도 필수적이다. 파이썬에서는 패키지를 통해 그래프를 만들고 수집한 데이터를 시각화할 수 있는 패키지를 제공한다. 오늘은 그래프를 만들 때 사용하는 패키지와 시각화하는 법을 기술했다.

 

seaborn 패키지 

그래프를 만들 때 자주 사용되는 패키지이며, 코드가 쉽고 간결하다.

 

산점도(scatter plot)

산점도 그래프는 x,y축에 점으로 표현한 그래프이다. 주로 나이와 소득같은 연속값으로 된 두 변수의 관계를 표현할 때 사용된다. mpg데이터를 가져오고 seaborn패키지의 그래프 함수를 통해 배기량과 고속도로 연비의 관계를 산점도로 시각화하였다.

(좌)배기량, 고속도로 연비를 x,y축에 점으로 표현. / (우) x축을 리밋하여 특정 구간만 잘라서 확인할 수 있음

 

막대 그래프(bar chart)

데이터의 크기를 막대의 길이로 표현한 그래프이다. 성별 소득 차이처럼 집단 간 차이를 표현할 때 사용된다. 

- seaborn으로 그래프를 만드려면 값이 변수에 담겨 있어야함.

- 변수를 인덱스로 정렬하지 않으면 bar chart 생성 불가

 

#.query() : suv차종 추출

#.groupby() : manufacturer 별 분리

#.agg() : cty 평균 구하기

#.sort_values() : 내림차순 정렬

#.head() : 상위 5행 추출 

(좌)크기순으로 정렬(.sort_values()) / (우) 빈도순으로 정렬(value_counts)

 

선(line)그래프

환율, 주가 지수 등 경제지표가 시간에 따라 변하는 양상처럼 시간에 따라 달라지는 데이터를 표현할 때 사용한다. 

- 시계열 데이터 : 일별 환율처럼, 일정 시간 간격을 두고 나열된 데이터

- 시계열 그래프 : 시계열 데이터를 선으로 표현한 그래프

(좌) 경제지표 데이터 로드 / (우) 선그래프 시각화

 

선그래프를 시각화 했지만 x축 연도의 문자가 여러번 겹쳐져 굵은선으로 표시됨. 연도의 변수를 만들어서 그래프상에 연도를 표시할 수 있도록 함.

 

(좌)연도 변수 만들기 / (우) x축에 연도 표시하기 [ci = None : 신뢰구간 제거]

 

상자 그림(box plot)

데이터의 분포 또는 퍼져있는 형태를 직사각형 상자 모양으로 표현한 그래프이다. 데이터의 분포도를 알 수 있고 평균값만 볼 때보다 데이터의 특징을 더 자세히 이해할 수 있다.

(좌) 왼쪽부터 전륜, 4륜, 후륜구동 방식 간의 분포도. / (우) 값의 설명

 

데이터 분석에 ChatGPT 활용하기

GPT에 데이터가 담긴 파일을 전송하고 프롬프트를 통해 원하는 결과를 얻을 수 있다. 가령 테이블의 각 열에 대한 설명과 분포도에 대한 시각화된 그래프를 보여주기도 하고 결측값과 이상치를 처리한 전처리 작업과 분석 결과에 대한 인사이트까지 얻을 수 있다. 물론 해당 데이터와 코드에 대한 이해도가 있어야되고, 분석 결과에 대한 인사이트는 프롬프트의 퀄리티에 따라서 인사이트의 퀄리티도 달라진다. 그렇다 하더라도 기존에 사람이 하던 작업을 AI가 대신하여 시간적인 비용을 덜어주는 것은 너무나 획기적이었다. 

파이썬 학습 과정에서 사용해본 프롬프트와 코드 출력값