[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


끝.


댓글

이 블로그의 인기 게시물

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

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

NPN, PNP 트랜지스터 차이점

3선 결선식 센서의 타입 PNP, NPN

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

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

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

3상 모터 전력에서 전류 계산하기 (How to Convert Three-Phase Power to Amps)

[공압밸브] 5포트 2웨이 & 4포트 2웨이, 단동 VS 복동 차이점

SSR과 기계식 릴레이 차이점