[python] 파이썬 통계 - 평균값, 중앙값 구하기

 파이썬으로 평균값과 중앙값을 구하는 샘플 코드입니다.


'''
평균값(mean), 중앙값(median) 계산
'''

import statistics

def calculate_mean(numbers):
    # 데이터값 합계
    s = sum(numbers)

    # 데이터 개수
    N = len(numbers)

    # 평균 구하기
    mean = s/N

    return mean

def calculate_median(numbers):
    N = len(numbers)
    numbers.sort()

    if N % 2 == 0:
        m1 = N/2
        m2 = (N/2) + 1

        m1 = int(m1) - 1
        m2 = int(m2) - 1
        median = (numbers[m1] + numbers[m2]) / 2
    else:
        m = (N+1) / 2
        m = int(m) - 1
        median = numbers[m]

    return median

if __name__ == '__main__':
    data = [100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000, 1200]
    mean = calculate_mean(data)
    median = calculate_median(data)

    # 직접 계산시
    print(mean)
    print(median)

    # 통계 라이브러리 활용시
    print(statistics.mean(data))
    print(statistics.median(data))

중앙값을 구하는 방법은 여러가지가 있지만, 여기서는 정렬된 데이터에서 가운데 값을 찾는 것을 가정하였습니다. 평균값과 중앙값 구하는 기능은 직접 구현해도 되지만 위 샘플 마지막에 보이는 것처럼 통계 라이브러리를 활용하는 방법도 있습니다. 아래는 실행결과입니다.


477.75
500.0
477.75
500.0


끝.


댓글

이 블로그의 인기 게시물

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

NPN, PNP 트랜지스터 차이점

[PLC] 센서 NPN, PNP 출력 타입별 결선방법 (OMRON E2E-X 시리즈 3선식 배선)

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

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

[투자] ETF 투자 가이드 : 카테고리별 ETF 선택 전략

[PLC] 릴레이와 전자 접촉기 (MC)

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

[농사] 천연 식물성 살충제 종류 및 제조법

[PLC] 릴레이 자기유지 (Realy Latch or Sealing)