[Python 통계 실습] 기술 통계
기술 통계에 대한 이론은 해당 글에서 확인하실 수 있습니다.
[통계 이론] 기술 통계
0. 데이터 준비
- 데이터 셋: 캐글 중고차 데이터
https://www.kaggle.com/austinreese/craigslist-carstrucks-data
데이터 불러오기
[코드]
import pandas as pd
vehicles = pd.read_csv('vehicles.csv') # csv 파일을 dataframe으로 읽어옴.
vehicles.shape # dataframe의 차원 확인함.
vehicles.head(3) # dataframe의 처음 3개 열을 리턴함.
vehicles.tail(3) # dataframe의 마지막 3개 열을 리턴함.
[결과]
vehicles.shape:
(426880, 26)
데이터 전처리하기
- 가격이 0인 데이터들을 결측치로 판단하여 제거함.
- 가격의 z-score가 3이상인 데이터를 이상치로 판단하여 제거함.
[코드]
import scipy.stats as stats
vehicles = vehicles[vehicles['price'] != 0]
# vehicles의 가격이 0인 rows를 제거함.
vehicles = vehicles.reset_index(drop=True)
# vehicles의 index를 재정렬함.
vehicles = vehicles[(np.abs(stats.zscore(vehicles['price'])) < 3)]
# vehicles의 가격의 z-score가 3이상인 rows를 제거함.
vehicles.shape # dataframe의 차원 확인함.
[결과]
vehicles.shape:
(393965, 26)
1. 중심경향값 구하기
1) 가격의 평균
[코드]
vehicles.price.mean()
[결과]
19383.20
2) 가격의 중앙값
[코드]
vehicles.price.median()
[결과]
15000
- 평균은 극단값의 영향을 많이 받기 때문에 가격의 평균과 중앙값 사이 차이가 많이 나는 것으로 보임. 현재 데이터에서는 평균보다 중앙값이 데이터를 더 잘 대표하는 것으로 판단됨.
3) 제조사 최빈값
[코드]
vehicles.manufacturer.mode()
[결과]
0 ford
dtype: object
- 제조사의 최빈값은 ford이다.
2. 변산도 구하기
1) 가격의 범위
[코드]
vehicles.price.max() - vehicles.price.min()
[결과]
25002999
2) 가격의 사분위수 범위(IQR)
[코드]
vehicles.price.quantile(.75) - vehicles.price.quantile(.25)
[결과]
20571
3) 가격의 분산
[코드]
vehicles.price.var()
[결과]
5754159737.77
4) 가격의 표준편차
[코드]
vehicles.price.std()
[결과]
75856.18
Author And Source
이 문제에 관하여([Python 통계 실습] 기술 통계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@robin_dev/Python-통계-실습-기술-통계저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)