Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 맷플롯립
- sql연습하기
- 수업기록
- 주피터노트북그래프
- 주피터노트북데이터분석
- python알고리즘
- 주피터노트북판다스
- 파이썬차트
- SQL수업
- 파이썬시각화
- 팀플기록
- 파이썬크롤링
- SQLSCOTT
- 주피터노트북맷플롯립
- 파이썬수업
- 판다스데이터분석
- python데이터분석
- 파이썬
- SQL
- 파이썬데이터분석
- python수업
- 주피터노트북
- sql연습
- sql따라하기
- matplotlib
- 데이터분석시각화
- 파이썬데이터분석주피터노트북
- Python
- 파이썬알고리즘
- 판다스그래프
Archives
- Today
- Total
IT_developers
Python 데이터 분석(주피터노트북) - 서울시 따릉이 본문
데이터 수집
- url(https://data.seoul.go.kr/dataList/datasetList.do#)
- 서울시 공공자전거 대여소별 이용정보
- 서울시 공공자전거 시간대별 이용정보
- 서울시 공공자전거 대여소 정보
라이브러리 및 세팅
- 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)
- 자치구별 대여 건수 집계
- 시각화
'Python' 카테고리의 다른 글
Python 문자 시각화(주피터노트북) - 워드 클라우드 (0) | 2022.12.06 |
---|---|
Python 데이터 분석(주피터노트북) - 타이타닉 (0) | 2022.12.05 |
Python 지도 시각화(주피터노트북) - folium(2) (0) | 2022.12.03 |
Python 지도 시각화(주피터노트북) - folium(1) (0) | 2022.12.03 |
Python 데이터 분석(주피터노트북) - 지하철 시간대 별 데이터 분석(티머니) (0) | 2022.12.02 |
Comments