데이터 출처
https://www.kaggle.com/dgomonov/new-york-city-airbnb-open-data
데이터 불러오기
airbnb 데이터를 df 변수에 담았다.
데이터 살펴보기
컬럼은 총 16개로 다양하며 행은 총 48,895개로 나타난다.
자료형은 알맞게 구성되었으나 몇몇 컬럼에선 누락값이 있어 보인다.
컬럼별 누락값을 살펴보자
투숙객의 이름과 호스트의 이름 컬럼에서 누락값이 조금 보인다.
위 두개의 컬럼은 분석에 있어서 비중이 높으니 향후 에러 방지를 위해
누락값이 있는 행은 삭제하는 것이 좋아보인다.
누락값이 있는 행 제거
name컬럼과 host_name 컬럼의 누락값이 있는 행을 없애주자
리뷰 컬럼 외엔 누락값이 없어졌다.
import re
정규표현식 라이브러리를 import하고
전처리 완료한 df를 analysis_df 변수에 다시 담아주자
name 컬럼을 보면 &나 !같은 특수문자가 있다.
영어(대,소문자) 숫자 . , - # 공백
name 컬럼에서 위의 것들이 아닌 문자열이 있는 행을 제거하는 작업을 진행하자
re.compile과 search 이용
원하는 문자열이 아닌 문자열을 찾는 표현식을 complie을 이용해서 name_reg에 저장한다.
메타캐릭터와 행 필터에 대한 내용은 아래 포스팅 참조
https://steadiness-193.tistory.com/203
https://steadiness-193.tistory.com/212
예를 들어 첫번째 행의 name 컬럼에는 &가 있어서 match 걸려 나왔다.
즉, 원하지 않는 문자열이 존재하지 않아야만 True가 나오는 것이다.
이를 함수로 정의하고 name 컬럼에 apply 해보자
원하지 않는 문자열이 있는 행은 총 17,182개이며
위 조건으로 analysis_df를 다시 정의하면
name 컬럼이 깔끔해진 31,676행의 데이터프레임을 만들 수 있다.
이제 위 데이터프레임을 가지고 분석을 해보자
'Pandas > 실전' 카테고리의 다른 글
판다스 - 뉴욕 Airbnb 데이터 : SQL로 데이터 다뤄보기 (0) | 2020.08.02 |
---|---|
판다스 - 뉴욕 Airbnb 데이터 : room_type별 분석 (0) | 2020.08.02 |
판다스 - 구글 플레이 스토어 : 카테고리별 점유율, 상위 카테고리의 앱 설치수와 평점의 평균 (0) | 2020.07.29 |
판다스 - 구글 플레이 스토어 : 앱 설치수, 리뷰수, 평점간의 관계 (0) | 2020.07.29 |
판다스 - 구글 플레이 스토어 : 전처리 (0) | 2020.07.29 |