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 | 
													Tags
													
											
												
												- SQL
 - 파이썬데이터분석주피터노트북
 - 파이썬데이터분석
 - 주피터노트북맷플롯립
 - 수업기록
 - 파이썬수업
 - 팀플기록
 - 판다스데이터분석
 - 주피터노트북그래프
 - SQL수업
 - 파이썬
 - python알고리즘
 - 주피터노트북판다스
 - 판다스그래프
 - 데이터분석시각화
 - sql연습하기
 - Python
 - 파이썬차트
 - matplotlib
 - 주피터노트북
 - 파이썬시각화
 - sql따라하기
 - 파이썬크롤링
 - 맷플롯립
 - python데이터분석
 - python수업
 - 주피터노트북데이터분석
 - SQLSCOTT
 - 파이썬알고리즘
 - sql연습
 
													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