필요한 라이브러리 불러오기
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
데이터셋 불러오기
# mpg 데이터셋을 불러옵니다.
df = sns.load_dataset('mpg')
df
데이터셋 일부만 가져오기
데이터 앞부분
df.head()
데이터 뒷부분
df.tail()
요약하기
df.info()
결측치 보기
df.isnull().sum()
결측치 시각화하기
sns.heatmap(df.isnull(), cmap="Grey_r")
기술 통계 구하기
describe 를 통해 범주형 변수에 대한 기술통계를 보기
df.describe(include='object')
범주형 변수
범주형 데이터 유일값의 빈도수
nunique() 값을 통해 빈도수를 확인
df.nunique()
countplot 으로 origin 빈도수 시각화하기
sns.countplot(data=df, x="origin")
1개 변수의 빈도수
origin 의 빈도수 구하기
df["origin"].value_counts()
2개 이상의 변수에 대한 빈도수
countplot 으로 origin 의 빈도수를 시각화하고 cylinders 로 다른 색상으로 표현
sns.countplot(data=df, x="origin", hue="cylinders")
countplot 으로 cylinders 의 빈도수를 시각화 하고 origin 으로 다른 색상으로 표현
sns.countplot(data=df, x="cylinders", hue="origin")
pd.crosstab 으로 시각화한 값 직접 구하기
pd.crosstab(df['origin'],df['cylinders'],normalize=True) #normalize는 비율
범주형 vs 수치형 변수
barplot 으로 origin 별 mpg 값 구하기
ci(신뢰수준)를 없애주는게 더 빠르다.
sns.barplot(data=df, x="origin", y="mpg", ci=None)
groupby 를 통한 연산
groupby 를 통해 origin 별로 그룹화하고 mpg의 평균 구하기
df.groupby(["origin"])["mpg"].mean()
pivot table을 통한 연산
pivot_table 로 같은 값 구하기
pd.pivot_table(data=df, index="origin", values="mpg")
barplot 으로 합계 값 구하기
sns.barplot(data=df, x="origin", y="mpg", estimator=np.sum, ci=None)
barplot 에 hue 를 사용하여 색상을 다르게 표현
sns.barplot(data=df, x="cylinders", y="mpg", hue="origin", ci=None)
groupby 를 통해 위 시각화에 대한 값을 구하기
df.groupby(["cylinders","origin"])["mpg"].mean().unstack()
pivot_table 를 통해 위 시각화에 대한 값을 구하기
pd.pivot_table(data=df, index="cylinders", columns="origin", values="mpg")
cylinders 와 mpg 의 x, hue 값을 변경해서 시각화
sns.barplot(data=df, x="origin", y="mpg", hue="cylinders", ci=None)
boxplot과 사분위수
sns.boxplot(data=df, x="origin", y="mpg")
groupby로 origin 값에 따른 mpg의 기술통계 구하기
df.groupby("origin")["mpg"].describe()
산점도를 통한 범주형 데이터 표현
scatterplot 으로 범주형 변수 그리기
sns.scatterplot(data=df, x="origin", y="mpg")
같은 값은 겹쳐서 어디에 데이터가 많은지 모르는 문제점이 생긴다.
stripplot 으로 범주형 변수 그리기
sns.stripplot(data=df,x="origin",y="mpg")
데이터가 많으면 겹쳐서 보d이는 문제점이 생긴다.
swarmplot 으로 범주형 변수 그리기
sns.swarmplot(data=df,x="origin",y="mpg",size=3)
catplot 으로 범주형 변수 그리기
sns.catplot(data=df,x="origin",y="mpg")
catplot을 통한 범주형 데이터의 서브플롯 시각화
catplot 으로 boxplot그리기
sns.catplot(data=df,x="origin",y="mpg",col="cylinders",col_wrap=3,kind="")
catplot 으로 violinplot그리기
sns.catplot(data=df,x="origin",y="mpg",col="cylinders",col_wrap=3,kind="violin")
catplot 으로 countplot그리기
sns.catplot(data=df,x="origin",col="cylinders",col_wrap=3,kind="count")
'빅데이터 관련 자료 > Dacon' 카테고리의 다른 글
Lv4 | EDA | 1/5 | seaborn pairplot (0) | 2021.08.27 |
---|---|
Lv3 | 튜닝 | Bayesian Optimization 실습 (0) | 2021.08.26 |
Lv3 | 튜닝 | Bayesian Optimization (0) | 2021.08.23 |
Lv3 | 모델링 | 교차검증 실습 K-Fold (0) | 2021.08.22 |
Lv3 | 모델링 | 교차 검증 정의 K-Fold - 1 : Hold-out (0) | 2021.08.20 |