Matplotlib으로 Pandas DataFrame 주파수 플롯 그리기
Matplotlib을 사용하면 Python/Pandas 데이터프레임의 데이터 분포를 손쉽게 주파수 플롯(frequency plot)으로 시각화할 수 있습니다. 핵심은 value_counts() 메서드로 각 고유값의 등장 횟수를 집계한 뒤, 이를 막대그래프로 그리는 것입니다. 아래 단계를 따라 진행해 보세요.
구현 단계
figure.figsize로 그림 크기를 설정하고,figure.autolayout으로 서브플롯 사이와 주변의 여백(padding)을 자동 조정합니다.plt.subplots()를 호출해 그림(figure)과 축(ax) 객체를 생성합니다.- 2차원이며 크기가 가변적이고, 서로 다른 자료형을 담을 수 있는 표 형태의 데이터(DataFrame)를 만듭니다.
value_counts()를 사용해 고유값별 개수를 담은 시리즈(Series)를 반환받습니다.kind='bar'옵션으로 막대그래프를 그리고,xlabel과ylabel으로 축 레이블을 지정합니다.- 그림을 화면에 표시하려면
show()메서드를 호출합니다.
예제 코드
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams['figure.figsize'] = [7.50, 3.50]
plt.rcParams['figure.autolayout'] = True
fig, ax = plt.subplots()
df = pd.DataFrame({'numbers': [2, 4, 1, 4, 3, 2, 1, 3, 2, 4]})
df['numbers'].value_counts().plot(ax=ax, kind='bar', xlabel='numbers', ylabel='frequency')
plt.show()value_counts() 메서드는 각 고유값이 나타난 횟수를 내림차순으로 정렬한 시리즈를 반환합니다. 위 예제에서는 숫자 2와 4가 각각 3번, 1과 3이 각각 2번 나타나므로, x축에는 'numbers'의 고유값이, y축에는 해당 빈도(frequency)가 표시된 막대그래프가 그려집니다.
실행 결과
