EDA 실습

3164 단어 TILTIL

프로그래머스 2021 국민대 여름방학 인공지능 과정 2주차 Day5 TIL


📌EDA 실습

데이터셋 준비

COVID-19 and its Impact on Students
https://www.kaggle.com/kunal28chaturvedi/covid19-and-its-impact-on-students

0. 각종 라이브러리 import

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

%matplotlib inline

1. 데이터 살펴보기

데이터셋 불러오기

covid_df = pd.read_csv("./COVID-19_Survey_Student_Responses.csv")
covid_df.head(5)

각 Column의 데이터 타입 확인하기

covid_df.dtypes

데이터 살펴보기

covid_df.describe()
covid_df.corr()

# 결측치 체크
covid_df.isnull().sum()

2. 가설 세우기

온라인 클래스가 학생에 미치는 영향??

  • 온라인 클래스로 보내는 시간이 길수록 잠 자는 시간이 줄어든다

3. 가설 검증하기

online = 'Time spent on Online Class'
sleep = 'Time spent on sleep'

sleep과 online 관계 파악

covid_df[[online, sleep]].groupby(by=online).sum()


online을 정수 범주로 묶어주는게 좋겠다

online sleep 데이터프레임 새로 만들기, countsleep평균 구하기위해..

online_sleep = { "online":[i for i in range(11)], "sleep":[0 for i in range(11)], "count": [0 for i in range(11)]}
os_df = pd.DataFrame(online_sleep)
os_df

online을 정수 범주로 나눔

for i in range(len(covid_df[online])):
    if np.floor(covid_df[online][i])+1 > covid_df[online][i] and covid_df[online][i] >= np.floor(covid_df[online][i]):
        os_df['sleep'][np.floor(covid_df[online][i])] += covid_df[sleep][i]
        os_df['count'][np.floor(covid_df[online][i])] += 1       
os_df


online 정수 범주에 맞춰서 sleep의 합계를 구했다

각 범주의 평균 그래프

plt.plot(os_df['online'], os_df['sleep']/os_df['count'])
plt.show()

4. 결론

온라인 클래스로 보내는 시간이 길수록(?) 잠 자는 시간이 대체로 줄어드는 경향이 있다. (인과 절대 아니고.. 경향!!)


저저번주에 했어야 했던 EDA 실습..(뒷북 왕왕)
직접 해보려니까 데이터셋 정하는것도 한참이구,,

pandas를 다루는 법을 잘 모르니... 무식하게 나마 구해보려고 했다...
지금은 이런 무지성코드가 최선ㅡ,ㅡ

특히나 범주를 새로 어떻게 나눠줘야할지, 어떤 그래프를 사용해야할지에 대해 고민이...🧐

좋은 웹페이지 즐겨찾기