본문 바로가기
통계/데이터 분석 기초

Python Pandas 실무 데이터 분석 : 시각화2 (다변수 데이터 시각화 / 가격과 해약여부의 관계)

by 만슨 2024. 3. 17.

 

오늘은 다변수 데이터에 대해 시각화 하는 시간을 가져보도록 하겠습니다.

 

1. 다변수 데이터 시각화 

 

1-1.  x : 연속 / y : 연속

  • 산점도 / 회귀선 / 상관분석 등을 해줄 수 있다.

 

 1-1-1.  산점도

Seaborn 라이브러리의 scatterplot 함수를 사용해준다 

 

 

위와같이 hue 를 이용한 범수형 데이터의 오버레이와 size를 이용한 연속형 데이터의 오버레이 또한 사용할 수 있다. 

 

jointplot 을 이용하여 x,y 변수의 각각의 데이터 들의 분포도 한 번에 볼 수 있다

 

 1-1-2 회귀

Seaborn 라이브러리의 implot 함수를 사용해준다 

 

 

pairplot 을 이용하여 가지고 있는 데이터 셋에 있는 모든 연속형 데이터에 대한 분포들을 확인해볼 수 있다. 

 

 

모든 연속형 변수를 보기엔 데이터가 너무 많아 보고싶은 연속형 변수만 뽑아 데이터 프레임 형태로 넣어 줄 수도 다 

 

ex) sns.pairplot(df1[['age','Mileage','amount','product']],hue = 'product')

->  product 로 나눠서 age, Mileage, amount 에 대한 상관산점도 확인

 

 

1-2.  x : 범주 / y : 연속

  • Barplot / Boxplot

ex) 연령대에 따른 매출액의 평균 , 학년에 따른 키의 평균 등 

 

이번에는 가격과 채널 에 초점을 맞추어 분석 해보도록 하겠습니다.

 

먼저 채널에 따라 높은 가격을 pivot table로 확인 해보겠습니다 

 

 

위와같이 channel 의 수가 많다고 가격이 많은것은 아니라는 점을 알 수 있습니다

 

1-2-1. Barplot

Seaborn 라이브러리의 barplot  함수를 사용해준다 

막대기를 이용하여 그래프를 나타내준다.

 

Channel 에 따른 amount 가 높은 순서대로 5개의 데이터를 뽑아 barplot을 이용하여 시각화 하였다.

Channel에 따른 amount의 평균값

 

우리가 알고싶은 데이터는 Channel 에 따른 amount 의 합계이기 때문에 estimator = sum 을 통해 데이터를 그래프를 뽑아보겠다. 

 

estimator - 통계기능을 사용 할 수 있는 함수

 

서비스 방문 -> 홈쇼핑 순으로 매출이 많다는 것을 볼 수 있다.

1-2-2. Baxplot

 

 

Boxplot을 사용하면 이상치, 최대, 최소값, IQR등 여러 통계값을 시각화하여 볼 수 있다.

 

 

1-3.  x : 시간(순서)  / y : 연속

  • lineplot / 

 ex) 시간에 따른 매출의 변화, 시간에 따른 매출 품목의 변화 등 

 

 

1-3-1. lineplot

우선 날짜에 따른 매출의 총 금액을 한 번 그래프로 살펴보자 

 

 

먼저 datetime 컬럼을 datetime 타입으로 바꿔준 후 

 

lineplot을 통해서 그래프를 나타내었다

 

그래프를 살펴보니 날짜 중간중간에 그래프가 꺼지는 것을 볼 수 있다. 

이유를 알기 위해 계약요일별 매출 그래프를 만들어 보았다. 

 

 

 

계약요일별 barplot을 살펴보니 토요일에 계약 빈도가 매우 저조하다는 것을 알 수 있다.

 

따라서 일자별로 매출의 총 금액을 살펴보기보단 주차별, 월별 로 확인하는것이 더 깔금할 거 같다.

 

 

 

년도에 따른 주차별 매출액을 보니 위와같은 그래프가 나왔다. 

 

 

참고 : [매일10분 데이터 분석] 파이썬 수치형 자료 시각화 ( 연속형 / 데이터 시각화 ) (youtube.com)

[매일10분 데이터 분석] 파이썬 문자형 자료 시각화 ( 범주형 / 데이터 시각화 ) (youtube.com)

https://www.youtube.com/watch?v=iZjj9ULvZ0E&list=PLhdHuKlSngGzXKDQvC4LF_xVOnXHg_c1q&index=8