본문 바로가기
🖊️Data Analysis/📌 ML)런던 자전거 수요 데이터 분석

[Python] 런던 자전거 수요 데이터 분석

by 빛나고요 2021. 5. 23.
BIG

Study. 런던 자전거 수요 데이터 분석(w. kaggle, Python)

[분석에 앞서, 데이터 전처리하기] - 데이터 불러오기

 

📌 캐글을 이용하여 '런던 자전거 수요 데이터'분석

📎사용한 데이터셋: https://www.kaggle.com/hmavrodiev/london-bike-sharing-dataset

 

📌[1] matplotlib.pyplot / seaborn / missingno 3개의 모듈 import

📌[2] 시간 데이터의 열(timestamp) 옵션을 넣어서 df에 할당하고 df 데이터 중 상위 5개를 불러옴

df = pd.read_csv('/kaggle/input/london-bike-sharing-dataset/london_merged.csv', parse_dates = ['timestamp'])
df.head()

 

📌[3] 데이터 타입 & 구조 확인

💡 '#'을 사용하면 주석처리

💡 데이터 분석하기 전에 데이터의 구조나 타입 등을 먼저 보는 게 좋음

#데이터의 타입과 구조
print('데이터의 구조는:', df.shape)
print('데이터의 타입은:', df.dtypes)
print('데이터의 칼럼은:', df.columns)

📌[4] 비어있는 데이터 확인

df.isna().sum()

💡 결과가 모두 '0'으로 나왔기 때문에 비어있는 데이터는 없음!

 

📌[5] missingno를 활용하여 비어있는 데이터를 시각화함

msno.matrix(df)
plt.show()

💡 아까 비어있는 데이터가 없었기 때문에 모두 검은색으로 나옴

💡 이렇게 시각화를 통해서 데이터가 비어있는지 한 눈에 쉽게 알아볼 수 있음

 

📌[6] 시간에 대한 데이터를 년, 월, 일 개별적으로 추출해서 새로운 변수로 생성

df['year'] = df['timestamp'].dt.year

💡 timestamp 열에서 연도을 추출하여 df에 year라는 열을 만들어서 추가함

💡 그 외에도 월, 일, 시간을 추출해서 month, dayofweek, hour로 열에 추가함

df['year'] = df['timestamp'].dt.year
df['month'] = df['timestamp'].dt.month
df['dayofweek'] = df['timestamp'].dt.dayofweek
df['hour'] = df['timestamp'].dt.hour
df.head()

📌[7] 탐색적 분석 시작

1) year의 구성

df['year'].value_counts()

2) month의 구성

df['month'].value_counts()

3) dayofweek의 구성

df['dayofweek'].value_counts()

4) weather_code의 구성

df['weather_code'].value_counts()

 

💡 각각 카테고리 별로 분류가 잘 되어있는 것을 알 수 있음

 

📎강의: https://www.inflearn.com/course/%EC%BA%90%EA%B8%80-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EB%94%A5%EB%9F%AC%EB%8B%9D/dashboard

댓글