배열 요소의 중간값과 IQR 구하기

배열의 중간값과 IQR (Interquartile Range)는 통계 분석에 많이 사용되는 지표입니다. 중간값은 데이터의 중앙에 위치한 값이며, IQR은 데이터의 분포를 나타내는 지표입니다. 이 블로그 포스트에서는 배열의 중간값과 IQR을 계산하는 방법에 대해 알아보겠습니다.

중간값 구하기

중간값은 데이터를 오름차순으로 정렬했을 때 가운데 위치한 값입니다. 이를 계산하기 위해서는 배열을 정렬한 후 중간에 있는 값을 선택하면 됩니다.

def calculate_median(arr):
    sorted_arr = sorted(arr)
    # 배열의 길이가 홀수인 경우
    if len(arr) % 2 == 1:
        median = sorted_arr[len(arr) // 2]
    # 배열의 길이가 짝수인 경우
    else:
        median = (sorted_arr[len(arr) // 2 - 1] + sorted_arr[len(arr) // 2]) / 2
    return median

arr = [5, 2, 9, 1, 7]
median = calculate_median(arr)
print("중간값:", median)

위의 예시 코드에서는 calculate_median 함수를 사용하여 배열의 중간값을 계산합니다. 배열을 정렬한 후 배열의 길이가 홀수인 경우 중간에 있는 값을, 짝수인 경우 중간의 두 값의 평균을 구하여 중간값으로 반환합니다. 이제 위의 예시 코드를 실행하면 중간값: 5라는 결과가 출력됩니다.

IQR (Interquartile Range) 구하기

IQR은 데이터의 1사분위수(Q1)와 3사분위수(Q3)의 차이로 정의됩니다. Q1은 전체 데이터의 25%에 해당하는 값이고, Q3는 전체 데이터의 75%에 해당하는 값입니다. 이를 계산하기 위해서는 데이터를 오름차순으로 정렬한 후 Q1과 Q3의 값을 선택하면 됩니다.

def calculate_iqr(arr):
    sorted_arr = sorted(arr)
    q1 = sorted_arr[int(len(arr) * 0.25)]
    q3 = sorted_arr[int(len(arr) * 0.75)]
    iqr = q3 - q1
    return iqr

arr = [5, 2, 9, 1, 7]
iqr = calculate_iqr(arr)
print("IQR:", iqr)

위의 예시 코드에서는 calculate_iqr 함수를 사용하여 배열의 IQR을 계산합니다. 배열을 정렬한 후 전체 데이터의 25%에 해당하는 값을 Q1으로, 전체 데이터의 75%에 해당하는 값을 Q3로 선택하여 IQR을 계산합니다. 이제 위의 예시 코드를 실행하면 IQR: 4라는 결과가 출력됩니다.

결론

이렇게 배열의 중간값과 IQR을 계산하는 방법에 대해 알아보았습니다. 중간값은 데이터의 중앙에 위치한 값으로 데이터의 대표값을 나타내는 지표입니다. IQR은 데이터의 분포를 나타내는 지표로서 이상치 탐지 등에 활용될 수 있습니다. 이러한 통계 분석을 통해 데이터를 정확하게 이해하고 분석할 수 있는 기반을 마련할 수 있습니다.

참고 자료