[Python 통계 실습] 기술 통계

robin·2021년 8월 11일
0

Python 통계 실습

목록 보기
1/3
post-thumbnail

기술 통계에 대한 이론은 해당 글에서 확인하실 수 있습니다.
[통계 이론] 기술 통계

0. 데이터 준비

데이터 불러오기

[코드]

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

profile
데이터 분석을 공부하는 🌱

0개의 댓글