[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 미터아웃

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

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

[PLC] 절연 변압기 (Isolation Transformer)

[수학] 정규 분포란? 왜 종 모양을 띠고 있을까?

[농사] 식물의 광합성과 호흡

제너 다이오드에 저항을 연결하는 이유

[자동화] 안쓰는 안드로이드폰을 활용한 식물 성장 타임랩스 촬영

[트레이딩] 현재 주가 기준으로 기대수익률은 어떻게 계산할까?

[PLC] 래더 다이어그램과 PLC