개발 기록/DATA SCIENCE

[학교_데이터과학] 대푯값과 중앙값, 최빈값 파이썬으로 구하기

우준성 2021. 11. 24. 10:07

중앙값, 최빈값

중앙값 구하는 함수 : quantile(), median()

최반값 구하는 함수 : mode()

(quantile은 사분면을 기반으로 하는데, median보다 더 정확한 계산을 할 때 쓰인다.)

 

 

google colab에 csv 파일 올리는 방법

1. files.upload() 이용

from google.colab import files
files.upload()
csv_file='2019_03_Daegu_Average_Temperature.csv'
import pandas as pd
df=pd.read_csv(csv_file, encoding='cp949') # 한글 인코딩 해주어야 함
print(df.head()) # df = data frame

 

2. 구글 드라이브에 직접 접근하여 csv 파일 올리기

#구글 드라이브 마운트
from google.colab import drive
drive.mount('/content/drive')
import pandas as pd
path='/content/sample_data/mnist_test.csv'
data=pd.read_csv(path)
print(data.head())

 

 

판다스(pandas) 라이브러리 사용

- 3월 대구광역시 평균 기온의 평균값 구하기 (위에서 read_csv로 csv 파일을 읽어와야 실행 가능)

t=df['평균기온(°C)'].mean()
print( f'3월 평균기온 : {t}' )
print('3월 평균기온 : ',df['평균기온(°C)'].mean() ) # 열이름에 온도와 같은 특별한 기호가 있는 경우는 자동 완성 기능 사용하기

 

- 3월 대구광역시 평균 기온의 중앙값 구하기

중앙값(median)은 전체 데이터 중 가운데에 있는 수이다. 데이터의 수가 짝수인 경우에는 가장 가운데에 있는 두 수의 평균이 중앙값이다.

quantile() 함수는 크기 순서로 나열한 자료를 4등분하는 관측값으로 정규분포를 크게 벗어나거나 흩어짐(산포)이 큰 상황에서는 사분위수가 대푯값으로 사용된다.

사분위수는 25, 50, 75를 기준 점으로 나눠져 1분위부터 4분위까지 나타낸다. pandas의 quantile함수는 0과 1 사이 값을 입력하여 사분위수를 나타낸다. quantile(0.5)일 경우 50분위를 나타내며, 이를 해석하면 데이터의 50%가 결과값보다 작거나 같음을 의미한다.

 
print("중앙값 :", df['평균기온(°C)'].quantile(0.5))
print("중앙값 :", df['평균기온(°C)'].median())

 

- 3월 대구광역시 평균 기온의 최빈값 구하기

print("최빈값 :", df['평균기온(°C)'].mode()[0]) 
# 데이터 프레임의 열 데이터 셋에서 최빈값을 반환
print(pd.value_counts(df['평균기온(°C)'])) 
# 데이터 셋의 도수분포표를 반환

 

다양한 통계 정보를 요약해주는 describe() 함수

print(df.describe()) # 수치형 데이터 열에 대한 통계 정보
print(df.describe(include='object')) # 문자형 데이터 열에 대한 통계 정보

count : 데이터 개수

mean : 평균

std : 표준편차

min : 최솟값

max : 최댓값

unique : 고유 데이터 값의 개수

top : 가장 많이 출현한 데이터 개수

freq : 가장 많이 출현한 데이터의 빈도수

 

import pandas as pd

df=pd.DataFrame([32, 62, 302, 24, 38, 24, 36], columns=['num'])
df
print('평균 : ',df['num'].mean())
print('중앙값 : ', df['num'].median())
print('최빈값 : ',df['num'].mode()[0])

 

극단적 자료가 있는 경우 평균보다는 중앙값, 최빈값이 안정적이다.

데이터의 분포가 대칭이 아닌 경우는 중앙값이 데이터를 대표하기에 적합하다.

위의 데이터에서는 중앙값이 대표값이 된다.

반응형