IT_developers

Python 데이터 분석(주피터노트북) - 서울시 따릉이 본문

Python

Python 데이터 분석(주피터노트북) - 서울시 따릉이

developers developing 2022. 12. 4. 12:00

데이터 수집

 

라이브러리 및 세팅

  • import seaborn as sns
  • seaborn 폰트 사용 - 한글처리보다 먼저 선언해야함
    • sns.set(font_scale=1)
  • import pandas as pd
  • import matplotlib.pyplot as plt
  • 한글처리
    • plt.rcParams['font.family'] = 'Malgun Gothic'
    • plt.rcParams['axes.unicode_minus'] = False
  • 경고 메세지
    • import warnings
    • warnings.simplefilter("ignore")
  • seaborn 스타일의 그래프를 사용
    • plt.style.use('seaborn')

 

데이터 로드

1) 시간대별 == bike3

 

2) 대여소별 이용 == bike2

 

3) 대여소 정보 == bike

 

데이터 탐색

  • info
  • describe

1) bike1

 

2) bike2

 

3) bike3

 

데이터 전처리

bike1 

1) bike1 컬럼명 변경

 

2) 컬럼 제거

  • 위도
  • 경도
  • 상세주소

 

3) NaN 처리

  • bike1의 NaN 확인한 후 0으로 채우기

 

4) 컬럼 타입 확인

 

bike2

 

1) 대여소명이 번호랑 문자랑 같이 구성

  • 대여소번호 컬럼을 생성한 후 대여소명에서 번호를 분리한 값 담기
  • 대여소명_new 컬럼을 생성할 후 대여소명에서 이름만 분리한 값 담기

 

2) 대여소명_new이 None 인 값 확인 후 제거

 

bike3

1) 대여소명에서 숫자를 제거한 값을 새로운 컬럼에 담기

  • 대여소명_new
  • 잘라내기 ->  확인 -> 새로 담기

 

2) 성별 컬럼 정리

  • m => M, f => F
  • 성별 컬럼에 어떠한 값들이 있는가?
  • 성별에 null 값이 너무 많아서 정리 불가

 

3) 데이터 타입 변경

① astype('변경할타입')

② pd.to_numeric('변경할 컬럼) : 적절한 숫자 타입으로 변경

==> 컬럼안에 nan이 있다면 pd.to_numeric()사용.

특정 문자 포함 => 정규식을 사용하여 확인 후 데이터 타입 변경

 

※ 에러 확인  : 문자열 '\N'

could not convert string to float: '\\N'

 

에러 수정

 

4) 대여일자 타입 변경

  • object ==> datetime

 

데이터 분석

1) 이동거리/평균 사용시간이 높은 대여소는?

  • bike 3 이용
  • 이동 거리가 큰 순서대로 대여소명_new 추출
  • 평균 사용시간이 높은 순서대로 대여소명_new 추출

 

2) 운동량과 이동거리의 상관관계는?

  • 차트 그리기

 

3) 따릉이를 가장 많이 이용하는 성별은?

  • 대여 일자에 따른 남녀 대여건수 비교
  • 년도 조회
  • 월 조회
  • 일 조회
  • 차트 그리기

 

4) 구별 설치 거치대의 개수는?

  • 총거치대수 = 거치대수lcd + 거치대수 qr => 컬럼 생성
  • bike1 자치구를 그룹으로 총 거치대수 구한 결과 => bike_group 데이터 프레임 생성

 

5) 자치구 별 총 거치대수 지도 시각화

  • 데이터 가져오기

 

6) 구별 대여 건수

  • bike_df2, bike1 대여소 번호 연결 ==> merge
    • 타입이 같은지 확인
    • 타입 변경
  • 필요한 컬럼만 남기기
  • 대여일자/월 ==> 202108 인 정보만 추출해서 새로운 프레임 생성(bike_merge1)
  • 자치구별 대여 건수 집계
  • 시각화

Comments