본문 바로가기

Pandas

(165)
판다스 - 백분위수 찾기 : describe(percentiles), quantile 데이터 불러오기 백분위수 구하기 1. 시리즈.describe() * percentiles 옵션 2. 시리즈.quantile 시리즈.describe() describe에 아무 옵션도 없다면 1, 2, 3사분위 수의 값만 나온다. 원하는 백분위수를 보고 싶다면 percentiles 옵션을 추가해준다. quantile quantile은 다른 기술통계 없이 단순히 그냥 원하는 백분위수를 보여준다. 95% 값 구하기 활용 pclass와 성별로 그룹핑한 그룹별 나이 컬럼의 90% 값 구하기
정규표현식 - 원하는 문자열이 있는 행만 남기기 : re.compile, re.search 데이터 불러오기 위 데이터프레임에서 한글, 영문(대/소문자), -, 공백 만 있는 행만 살려보자 (1, 2, 3번 행) re.compile 한글, 영문, 공백과 - 이 아닌 문자열을 찾는 표현식이다. 메타캐릭터에 대한 내용은 아래 포스팅 참조 https://steadiness-193.tistory.com/203 정규표현식 - re.sub : 원하는 문자만 남기고 제거하기 re.sub('찾을 패턴', '찾은 패턴을 변경할 내용', '원본') 주어진 문자열(찾을 패턴)에서 일치하는 모든 패턴을 (변경할 내용으로)바꾼다. 두번째 인자는 특정 문자열이거나 함수가 될 수도 있다. 메� steadiness-193.tistory.com re.search 첫번째 행의 문자열은 Abc!&* 이다. search는 여기서 ..
판다스 - value_counts(normalize=True) 데이터 출처 https://www.kaggle.com/c/titanic/data Pclass 우선 train 데이터프레임의 Pclass의 분포를 시각화 해서 보자 단편적으로는 3등급의 승객 수가 많아 보인다. [그렇다면 각 등급별로 비율을 확인하려면 어떻게 해야할까?] 1. value_counts() Pclass 컬럼의 고유값 개수를 센 뒤 총 개수로 나눠주면 된다. 2. value_counts(normalize=True) 1번의 방법을 한번에 할 수 있다. 바로 normalize 옵션을 True로 넣어주면 된다. (번외) 3. groupby와 size() 이용 위 방법도 가능은 하다. 2번 활용 Pclass가 1인 승객의 생존 여부에 대한 비율을 확인할 수 있다.
판다스 - 뉴욕 Airbnb 데이터 : 지역별 가격 분포 파악, 시각화 데이터 및 이미지 출처 https://www.kaggle.com/dgomonov/new-york-city-airbnb-open-data 데이터 불러오기 필드(컬럼), 행/열 개수 확인 컬럼별 누락값 확인 투숙객 이름과 호스트 이름에 누락값이 있다. 위 두개 컬럼은 분석에 있어서 중요하니 누락값이 있는 행을 삭제하자. 이 데이터프레임에서 재밌는 점은 위도와 경도를 알 수 있다는 것이다. 위도와 경도를 산점도에 이용하면 뉴욕의 지도처럼 나타난다. 위도와 경도로 지도 그리기 뉴욕에서 airbnb를 운영하는 위치를 볼 수 있는 지도를 만들었다. 가격별로 색 조정 pandas로 scatter를 그릴 때 c옵션이나 colorbar=True를 이용해서 컬러바까지 나오게 되면 x축 눈금이 보이지 않을 때가 있다. 이럴..
판다스 - 뉴욕 Airbnb 데이터 : SQL로 데이터 다뤄보기 https://steadiness-193.tistory.com/202 판다스 - 뉴욕 Airbnb 데이터 : 전처리, 정규표현식으로 필터링 데이터 출처 https://www.kaggle.com/dgomonov/new-york-city-airbnb-open-data 데이터 불러오기 airbnb 데이터를 df 변수에 담았다. 데이터 살펴보기 컬럼은 총 16개로 다양하며 행은 총 48,895개로 나타난다... steadiness-193.tistory.com 위 포스팅에서 전처리 완료된 analysis_df를 이용한다. [SQL을 이용하여 room을 가장 많이 등록한 호스트 상위 10명의 room 평균 가격을 찾아보자] 우선 판다스에서 host_id를 그룹핑한 다음 행의 개수를 세보자 총 25,940명의 호스트..
판다스 - 뉴욕 Airbnb 데이터 : room_type별 분석 https://steadiness-193.tistory.com/202 판다스 - 뉴욕 Airbnb 데이터 : 전처리, 정규표현식으로 필터링 데이터 출처 https://www.kaggle.com/dgomonov/new-york-city-airbnb-open-data 데이터 불러오기 airbnb 데이터를 df 변수에 담았다. 데이터 살펴보기 컬럼은 총 16개로 다양하며 행은 총 48,895개로 나타난다... steadiness-193.tistory.com 위 포스팅에서 전처리 완료된 analysis_df를 이용한다. 데이터 불러오기 room_type의 고유값 총 3가지 타입이 있으며 room_type별로 어떤 값을 보고자 하면 groupby를 이용해야 한다. [목표 : 각 그룹별로 price가 가장 높은 그..
정규표현식 - re.sub : 원하는 문자만 남기고 제거하기 re.sub('찾을 패턴', '찾은 패턴을 변경할 내용', '원본') 주어진 문자열(찾을 패턴)에서 일치하는 모든 패턴을 (변경할 내용으로)바꾼다. 두번째 인자는 특정 문자열이거나 함수가 될 수도 있다. 메타캐릭터 [] []안에 들어있는 캐릭터 자체를 나타내며 [abc] : a 또는 b 또는 c - : 해당 문자 사이 범위에 속하는 문자 중 하나 [a-d] : a 또는 b 또는 c 또는 d ^ : 맨 앞에 사용될 경우에만 해당 문자 패턴이 아닌 것과 매칭 [^a-d] : a 그리고 b 그리고 c 그리고 d 가 아닌 문자열 위 두가지 원리를 가지고 예제를 풀어보자 위 전화번호에서 010-1234-1321만 뽑아내려고 한다. 이때 re.sub를 이용하면 된다. % 또는 $ 또는 ^ 또는 * 또는 !을 없애주..
판다스 - 뉴욕 Airbnb 데이터 : 전처리, 정규표현식으로 필터링 데이터 출처 https://www.kaggle.com/dgomonov/new-york-city-airbnb-open-data 데이터 불러오기 airbnb 데이터를 df 변수에 담았다. 데이터 살펴보기 컬럼은 총 16개로 다양하며 행은 총 48,895개로 나타난다. 자료형은 알맞게 구성되었으나 몇몇 컬럼에선 누락값이 있어 보인다. 컬럼별 누락값을 살펴보자 투숙객의 이름과 호스트의 이름 컬럼에서 누락값이 조금 보인다. 위 두개의 컬럼은 분석에 있어서 비중이 높으니 향후 에러 방지를 위해 누락값이 있는 행은 삭제하는 것이 좋아보인다. 누락값이 있는 행 제거 name컬럼과 host_name 컬럼의 누락값이 있는 행을 없애주자 리뷰 컬럼 외엔 누락값이 없어졌다. import re 정규표현식 라이브러리를 impor..