Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Matplotlib에서 히스토그램을 정규화하는 방법

Python에서 히스토그램을 정규화하려면 matplotlib의 hist() 메서드에 density=True 옵션을 사용하면 됩니다. 정규화된 히스토그램은 막대의 높이가 단순한 빈도 수가 아니라 확률 밀도를 나타내며, 그래프 전체 아래쪽 면적의 합이 1이 되도록 조정됩니다.

정규화 히스토그램 만들기 단계

  • 데이터로 사용할 숫자 리스트를 준비합니다.

  • plt.hist() 함수에 density=True 인자를 전달하여 히스토그램을 그립니다.

  • plt.show() 메서드를 호출하여 그림을 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

k = [5, 5, 5, 5]
x, bins, p = plt.hist(k, density=True)

plt.show()

실행 결과

위 코드를 실행하면 데이터 값 5에 해당하는 위치에 하나의 막대가 그려지며, y축은 빈도(count) 대신 확률 밀도(density) 값으로 표시됩니다. 모든 막대 너비와 높이를 곱한 값을 합산하면 총 면적이 1이 됩니다.

density=True의 의미

density=True는 각 구간(bin)의 빈도를 전체 데이터 개수와 bin 너비로 나누어 정규화합니다. 이렇게 하면 서로 다른 크기의 데이터셋이나 bin 간격을 가진 히스토그램끼리도 직접 비교할 수 있으며, 이론적인 확률 밀도 함수(PDF)와 겹쳐 그려 확인할 때 특히 유용합니다.