날짜별로 집계된 pandas 데이터프레임을 막대그래프로 시각화하려면 아래 단계를 따르면 됩니다.
구현 단계
그림(figure) 크기를 설정하고, 서브플롯 주변 및 사이의 패딩(padding)을 조정합니다.
2차원의 크기 변경이 가능한 표 형태 데이터를 담는 데이터프레임 df를 생성합니다.
pandas 데이터프레임을 날짜별로 집계(groupby)하여 결과값을 가져옵니다.
3단계에서 만든 df를 kind="bar" 옵션으로 막대그래프에 그립니다.
show() 메서드를 사용하여 최종 그래프를 화면에 표시합니다.
예제 코드
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt, dates
# 그림 크기 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# 데이터프레임 생성
df = pd.DataFrame(dict(data=list(pd.date_range("2021-01-01", periods=10)),
value=np.linspace(1, 10, 10)))
df = df.groupby('data').agg(['sum']).reset_index()
# 데이터프레임을 막대그래프로 그리기
df.plot(x='data', y='value', kind="bar")
# 그래프 표시
plt.show()코드 설명
위 코드에서 pd.date_range("2021-01-01", periods=10)은 2021년 1월 1일부터 시작하는 10일치 날짜 데이터를 생성합니다. 이어서 np.linspace(1, 10, 10)으로 1부터 10까지 균등하게 증가하는 값들을 만들어 각 날짜에 대응시킵니다.
groupby('data').agg(['sum']) 구문은 데이터프레임을 'data' 열(날짜) 기준으로 그룹화하고, 각 그룹의 합계(sum)를 계산합니다. 마지막으로 reset_index()를 호출해 인덱스를 초기화하여 플롯에 사용하기 좋은 형태로 만듭니다.
출력 결과
위 코드를 실행하면 날짜를 x축으로 하고 집계된 값을 y축으로 하는 다음과 같은 막대그래프가 생성됩니다.
