본문 바로가기
학습노트/Python

[강의노트] Python 분석- 상관계수(2), barplot

by kime2 2024. 1. 14.

 

스파르타코딩클럽의 강의를 참고하여 작성하였습니다.

 

이전 분석에서는 타이타닉 생존과 나이에 대한 상관계수가 없어보였다.

좀더 미세하게 나이대와 생존에 상관계수를 분석해 보자

https://kime2pan.tistory.com/59

 

[강의노트] Python 분석 - 상관계수(1)

스파르타코딩클럽의 강의를 참고하여 작성하였습니다. 목표 나이-생종의 상관관계 분석하기 by Pandas 상관계수란! 1단계: 데이터 분석 기본 세팅하기 1) Pandas 사용 선언 하기 2) 데이터 가져오기 3)

kime2pan.tistory.com

 

목표 나이대별 생존과상관관계 구하기

 

1단계: 데이터 분석 기본 세팅하기

1) 라이브러리 사용 선언 하기

2) 데이터 가져오기 

3) 데이터 확인 및 표 읽기 

4) 공백란 제거하기

 

#1) 라이브러리 불러오기
import pandas as pd
import matplotlib.pyplot as plt #시각화
import numpy as np #숫자계산
import seaborn as sns #시각화

#2) 데이터 불러오기
titanic = pd.read_table('/content/train.csv',sep=',')
#3) 데이터 확인하기
titanic.head()
#4) 결측치 확인하고 제거하기
print(titanic.isnull().sum()) #확인
titanic=titanic.dropna() #결측치 제거한 데이터를 다시 타이타닉변수에 저장

 

2단계 데이터 분석하기

 

1) 데이터 통계치 요약

2) 나이대-생존 분석에 필요한 데이터 가공하기

#1) 데이터 통계치 요약하기
titanic.describe()
#2) 승객 나이에 대한 분포도 그래프 그리기
titanic['Age'].hist(bins=40,figsize=(18,8),grid=True) #hist(): 히스토그램을 그리는 함수
#3) 나이별 구분 및 생존율 확인하기->타이타닉에서 age_cat이라는 컬럼을 만들어서 타이타닉 나이정보에 0~3까지는 baby, 3초과 7까지는 children등 라벨링하여 저장
titanic['Age_cat'] = pd.cut(titanic['Age'],bins=[0,3,7,15,30,60,100],include_lowest=True,labels=['baby','children','teenage','young','adult','old'])
#4) 연령대 기준으로 평균 값 구하기 -> groupby():그룹화 하는 함수 + mean.():평균을 구하는 함수
titanic.groupby('Age_cat').mean()
titanic.describe()

데이터 통계치 요약 : 각 칼럼별 집계(평균, 수, 중간값 등)의 데이터를 요약

 

titanic['Age'].hist(bins=40,figsize=(18,8),grid=True) #hist(): 히스토그램을 그리는 함수

나이별 히스토그램 -> 2030에 몰려있는걸 알 수 있다(38살까지 전체인구의 75%가 몰려있다, 중간값 29)

 

 

#3) 나이별 구분 및 생존율 확인하기->타이타닉에서 age_cat이라는 컬럼을 만들어서 타이타닉 나이정보에 0~3까지는 baby, 3초과 7까지는 children등 라벨링하여 저장
titanic['Age_cat'] = pd.cut(titanic['Age'],bins=[0,3,7,15,30,60,100],include_lowest=True,labels=['baby','children','teenage','young','adult','old'])

나이 구간에 따라 새로운 컬럼이 만들어 졌다
#4) 연령대 기준으로 평균 값 구하기 -> groupby():그룹화 하는 함수 + mean.():평균을 구하는 함수
titanic.groupby('Age_cat').mean()

나이 구간에 따라 각 행의 평균을 구한다

 

3단계 시각화 하기

#1) 그래프 크기 설정
plt.figure(figsize=(14,5))
#2) 바 그래프 그리기(x축=Age_Cat,Y축=survived)
sns.barplot(x='Age_cat',y='Survived',data=titanic)
#3) 그래프 그리기
# plt.show()

 

sns.barplot(x='Age_cat',y='Survived',data=titanic)
막대의 높이: 연령구간별 평균생존
(1에 가까울 소록 생존), 상관계수X
검은 실선: 생존의 분포

 

추가 참고

https://zephyrus1111.tistory.com/250#c1

 

[Seaborn] 2. 막대 그래프(바 차트, Bar Chart) 그리기 (feat. barplot)

반갑습니다~ 오늘도 꽁냥이 인사드립니다. 오늘은 Seaborn의 barplot을 이용하여 막대 그래프(바 차트, Bar Chart) 그리는 방법에 대해서 알아보겠습니다. - 목차 - 1. Seaborn barplot 기본 2. Seaborn barplot 다

zephyrus1111.tistory.com

https://wikidocs.net/194443

 

sns.barplot

sns.barplot 함수는 Seaborn 라이브러리에서 제공하는 함수 중 하나로, 막대 그래프를 생성합니다. 기본적으로 sns.barplot 함수는 다음과 같은 인수를 가집니다…

wikidocs.net