[python] 평균값, 중앙값 (절삭, 가중)

파이썬에서 각종 라이브러리를 통해 절삭 또는 가중 처리된 평균값, 중앙값 등을 구하는 샘플 코드를 정리합니다.




import numpy as np
import pandas as pd
import wquantiles
from scipy.stats import *

# CSV 파일에서 데이터 변환 (컬럼명 포함)
state = pd.read_csv('./stats/state.csv')
print(state)

# 평균값
mean = state['Population'].mean()
print('Mean : ' + str(mean))

# 15% 절삭 평균
trimmed_mean = trim_mean(state['Population'], 0.15)
print('15% Trimmed Mean : ' + str(trimmed_mean))

# 중앙값
median = state['Population'].median()
print('Median : ' + str(median))

# 가중 평균
weighted_mean = np.average(state['Murder Rate'], weights=state['Population'])
print('Weighted Mean of Murder Rate : ' + str(weighted_mean))

# 가중 중앙
weighted_median = wquantiles.median(state['Murder Rate'], weights=state['Population'])
print('Weighted Median of Murder Rate : ' + str(weighted_median))


아래는 출력결과입니다.


         State  Population  Murder Rate Abbreviation
0      Alabama     4779736          5.7           AL
1       Alaska      710231          5.6           AK
2      Arizona     6392017          4.7           AZ
3     Arkansas     2915918          5.6           AR
4   California    37253956          4.4           CA
5     Colorado     5029196          2.8           CO
6  Connecticut     3574097          2.4           CT
7     Delaware      897934          5.8           DE
Mean : 7694135.625
15% Trimmed Mean : 3931483.0
Median : 4176916.5
Weighted Mean of Murder Rate : 4.376359279149048
Weighted Median of Murder Rate : 4.448750497554494



끝.

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

[PLC] 서보 모터 브레이크 결선, 왜 릴레이 터미널을 써야 할까?

[PLC] PLC 아날로그 입출력 기본

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

커패시터에 저장된 에너지 계산

[PLC] PLC 입출력 타입 - 싱크 & 소스 (Sink & Source)

[농사] 토마토 수경재배 : NFT 방식 개요

[DIY 스마트팜] 파이썬 + 웹캠 + Cloudflare Tunnel을 이용한 간이 CCTV 구축

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

[수학] 왜 ‘기하급수’라고 부를까? (한국에서 수학은 영어로 배워야 하는 이유)