본문 바로가기
파이썬엑셀

파이썬 엑셀로 산점도 & 상관관계 분석 마스터하기: 데이터 숨은 관계 찾기!

by mypick 2024. 11. 11.

파이썬으로 엑셀 데이터 분석하며 숨겨진 이야기를 찾아내는 방법, 궁금하지 않으세요? 특히, 산점도를 통해 두 변수 간의 관계를 시각적으로 파악하고, 상관관계 분석을 통해 그 의미를 좀 더 명확하게 해석하는 방법은 정말 유용하죠! 오늘은 파이썬과 엑셀을 활용하여 산점도를 그려보고, 상관관계 분석을 통해 데이터 속 숨겨진 관계를 파헤쳐 보는 시간을 가져볼게요.  데이터 분석 초보자도 쉽게 따라 할 수 있도록 친절하게 설명해드릴 테니, 걱정 말고 함께 떠나봐요!

 


파이썬 & 엑셀: 산점도와 상관관계 분석의 시작

산점도(Scatter Plot)는 두 변수 간의 관계를 시각적으로 표현하는 데 아주 유용한 도구에요. 마치 별똥별이 밤하늘에 흩뿌려진 것처럼, 데이터 포인트들이 x축과 y축 위에 찍히면서 두 변수 간의 관계를 한눈에 보여주죠. 예를 들어, 아이스크림 판매량과 기온의 관계를 산점도로 나타내면, 기온이 높아질수록 아이스크림 판매량이 증가하는 경향을 쉽게 파악할 수 있을 거예요.

 

하지만 산점도만으로는 두 변수 간의 관계를 정확하게 수치화하기 어려워요. 그래서 등장한 것이 바로 상관관계 분석입니다. 상관관계 분석은 두 변수 간의 관계를 수치적으로 나타내는 방법인데요, 가장 흔하게 사용되는 방법은 피어슨 상관계수(Pearson correlation coefficient)를 이용하는 거예요. 피어슨 상관계수는 -1에서 1 사이의 값을 가지며, +1에 가까울수록 두 변수는 강한 양의 상관관계를, -1에 가까울수록 강한 음의 상관관계를 나타내요. 0에 가까울수록 두 변수 간의 선형적인 관계는 거의 없다고 볼 수 있죠.

 


왜 산점도와 상관관계 분석이 중요할까요?

데이터 분석에서 산점도와 상관관계 분석은 왜 이렇게 중요할까요? 그 이유는 바로 데이터 숨겨진 패턴을 찾아내고, 변수들 간의 관계를 이해하는 데 도움을 주기 때문이에요. 예를 들어, 어떤 회사에서 제품 판매량을 높이기 위한 마케팅 전략을 세우려고 한다고 생각해 보세요. 이때, 제품 판매량과 광고 비용, 프로모션, 계절 등 다양한 변수 간의 관계를 분석하면, 어떤 변수가 제품 판매량에 가장 큰 영향을 미치는지 알 수 있고, 그 결과를 바탕으로 효과적인 마케팅 전략을 수립할 수 있겠죠.

 


파이썬 라이브러리: pandas와 seaborn

파이썬에서 산점도와 상관관계 분석을 쉽게 수행할 수 있도록 도와주는 핵심 라이브러리 두 가지가 있어요. 바로 pandas와 seaborn입니다. pandas는 데이터를 불러오고 정리하는 데 탁월하고, seaborn은 데이터 시각화, 특히 산점도를 그리는 데 능숙하죠.

 

pandas는 엑셀 파일을 읽어와서 데이터프레임 형태로 변환해주는 역할을 합니다. 마치 엑셀 시트를 파이썬에서도 편리하게 다룰 수 있도록 연결해주는 다리와 같은 존재죠. seaborn은 pandas에서 만들어진 데이터프레임을 활용하여 다양한 종류의 시각화를 할 수 있게 해줍니다.

 

두 라이브러리를 함께 사용하면 엑셀 데이터를 파이썬에서 쉽고 빠르게 분석하고 시각화할 수 있게 되는 거죠!

 


파이썬으로 산점도 그리기: seaborn 활용하기

자, 이제 본격적으로 파이썬을 이용하여 산점도를 그려보는 방법을 알아볼게요.

 

우선, 필요한 라이브러리를 import 해야겠죠?

 

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

 분석하고자 하는 데이터가 담긴 엑셀 파일을 pandas를 이용하여 불러와야 합니다.

 

data = pd.read_excel('data.xlsx') # 엑셀 파일 경로를 적어주세요

 seaborn의  함수를 사용하여 산점도를 그려볼 수 있어요.

 

sns.scatterplot(x='변수1', y='변수2', data=data) 
plt.title('변수1과 변수2의 산점도')
plt.xlabel('변수1')
plt.ylabel('변수2')
plt.show()

 과 는 엑셀 파일에서 분석하고 싶은 두 개의 열 이름을 의미해요. 예를 들어, 엑셀 파일에 '키'와 '몸무게'라는 열이 있다면, '키'를 x축, '몸무게'를 y축으로 하는 산점도를 그릴 수 있겠죠.

 


산점도 해석하기: 데이터 속 이야기 찾기

산점도를 그려보면, 두 변수 간의 관계를 시각적으로 확인할 수 있어요.

 

  • 데이터 포인트들이 대체로 직선을 따라 분포되어 있다면, 두 변수 간에 강한 선형적 상관관계가 있다고 해석할 수 있습니다.
  • 데이터 포인트들이 흩어져 있어 특별한 패턴을 보이지 않는다면, 두 변수 간에 상관관계가 없거나 매우 약하다고 해석할 수 있어요.
  • 데이터 포인트들이 곡선을 따라 분포되어 있다면, 두 변수 간에 비선형적 상관관계가 있다고 해석할 수 있죠.

하지만 산점도만으로는 상관관계의 정도를 정확하게 파악하기 어려울 수 있으므로, 상관계수를 계산하여 확인하는 것이 좋습니다.

 


상관계수 계산: 두 변수의 관계 수치화하기

상관관계의 정도를 수치적으로 나타내는 지표가 바로 상관계수입니다.

 

pandas 데이터프레임의  메서드를 사용하면 쉽게 상관계수를 계산할 수 있어요.

 

correlation = data['변수1'].corr(data['변수2']) 
print(f'상관계수: {correlation}')

상관계수 해석: 관계의 강도 파악하기

상관계수는 -1에서 1 사이의 값을 가지며,

 

  • 값이 1에 가까울수록 양의 상관관계가 강하고,
  • -1에 가까울수록 음의 상관관계가 강하며,
  • 0에 가까울수록 상관관계가 약하거나 없다 고 해석할 수 있습니다.

예를 들어, 상관계수가 0.8이라면 두 변수 간에 강한 양의 상관관계가 있다는 것을 의미하며, 상관계수가 -0.5라면 두 변수 간에 중간 정도의 음의 상관관계가 있다고 해석할 수 있죠.

 


다변수 상관관계 분석: seaborn heatmap 활용하기

만약 엑셀 파일에 여러 개의 변수가 있고, 모든 변수들 간의 상관관계를 한눈에 보고 싶다면, seaborn의  함수를 사용하면 편리해요.

 

correlation_matrix = data.corr()
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.show()

Heatmap 해석: 변수 간 관계를 한눈에 파악하기

 함수는 변수들 간의 상관계수를 색깔로 표현해줍니다.

 

  • 붉은색 계열일수록 양의 상관관계가 강하고,
  • 파란색 계열일수록 음의 상관관계가 강하며,
  • 흰색 계열일수록 상관관계가 약하거나 없음을 의미합니다.

예를 들어, heatmap에서 '키'와 '몸무게' 사이에 붉은색 계열의 색깔이 나타난다면, 두 변수 간에 양의 상관관계가 강하다는 것을 알 수 있죠.

 


아래는 예시 데이터를 이용해 만든 heatmap입니다.

 

변수1 1.00 0.80 -0.50
변수2 0.80 1.00 -0.30
변수3 -0.50 -0.30 1.00

변수 변수1 변수2 변수3

 

이 표에서 변수1과 변수2는 0.8의 높은 양의 상관관계를, 변수1과 변수3는 -0.5의 중간 정도 음의 상관관계를 보이는 것을 알 수 있습니다.

 


궁금한 점이 있으신가요? 자주 묻는 질문 (FAQ)

Q1. 산점도를 그릴 때, x축과 y축에 어떤 변수를 놓아야 할까요?

 

A1. 분석 목적에 따라 적절한 변수를 선택해야 합니다. 예를 들어, 두 변수 간의 인과관계를 파악하고 싶다면, 원인이 되는 변수를 x축에, 결과가 되는 변수를 y축에 놓는 것이 좋습니다. 혹은 두 변수 간의 상관관계를 파악하고 싶다면, 어떤 변수를 x축, 어떤 변수를 y축에 놓아도 상관없습니다.

 

Q2. 상관계수가 0에 가깝다면, 두 변수 간에 아예 관계가 없는 걸까요?

 

A2. 상관계수가 0에 가깝다는 것은 두 변수 간에 선형적인 관계가 약하거나 없다는 것을 의미합니다. 하지만 두 변수 간에 비선형적인 관계가 존재할 가능성도 있으므로, 산점도를 그려서 데이터의 분포를 확인해보는 것이 좋습니다.

 

Q3. 상관관계 분석만으로 두 변수 간의 인과관계를 파악할 수 있나요?

 

A3. 상관관계 분석은 두 변수 간의 관계를 파악하는 데 도움을 주지만, 인과관계를 증명하는 것은 아닙니다. 즉, 두 변수 간에 상관관계가 있다고 해서, 한 변수가 다른 변수의 원인이라고 단정 지을 수는 없어요. 인과관계를 파악하려면 추가적인 분석이나 실험이 필요합니다.

 

마무리

이번 포스팅에서는 파이썬과 엑셀을 활용하여 산점도를 그려보고, 상관관계 분석을 통해 데이터 속 숨겨진 관계를 파악하는 방법을 알아봤어요. 산점도와 상관관계 분석은 데이터 분석에서 아주 기본적이면서도 중요한 기법인데요, 이를 통해 데이터 속 숨겨진 패턴을 찾아내고, 변수들 간의 관계를 이해할 수 있답니다.

 

이제 여러분도 파이썬과 엑셀을 활용하여 다양한 데이터를 분석하고, 세상을 좀 더 깊이 있게 이해할 수 있게 되었을 거라고 생각해요. 앞으로 더욱 다양한 데이터 분석 기법들을 배우고, 데이터 분석 전문가로 성장해 나가시길 응원합니다!

 

키워드

파이썬,엑셀,데이터분석,산점도,상관관계,피어슨상관계수,시각화,데이터과학,머신러닝,데이터마이닝,pandas,seaborn,matplotlib,데이터분석초보,데이터분석팁,데이터사이언스,통계분석,R,회귀분석,데이터시각화,데이터인사이트,데이터활용,엑셀분석