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

Pandas로 여러 데이터프레임을 하나의 그래프에 그리는 방법

Pandas 기능으로 여러 데이터프레임 플로팅하기

데이터 분석을 하다 보면 서로 다른 두 개 이상의 데이터프레임을 하나의 그래프에 함께 시각화해야 하는 경우가 자주 있습니다. Pandas에서 제공하는 plot() 메서드와 matplotlib의 ax(축) 객체를 활용하면 이를 간단하게 구현할 수 있습니다.

여러 데이터프레임을 하나의 그래프로 그리려면 아래 단계를 따르면 됩니다.

  • 그림(figure) 크기를 설정하고, 서브플롯 사이와 주변의 여백(padding)을 조정합니다.
  • 2차원 테이블 형태의 데이터를 담을 수 있는 두 개의 Pandas 데이터프레임 df1df2를 생성합니다.
  • plot() 메서드를 사용해 df1을 먼저 그리고, 반환된 축 객체(ax)를 df2ax 인자에 전달하여 같은 그래프 위에 겹쳐 그립니다.
  • show() 메서드를 호출하여 최종 그래프를 화면에 표시합니다.

핵심 포인트

여기서 가장 중요한 것은 첫 번째 plot() 호출이 반환하는 축 객체입니다. 이 객체를 두 번째 데이터프레임의 plot(ax=ax) 인자로 넘겨주면, 두 개의 데이터프레임이 서로 다른 x축 레이블을 가지더라도 하나의 좌표평면 위에 함께 나타납니다.

예제 코드

import pandas as pd
from matplotlib import pyplot as plt

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

df1 = pd.DataFrame(
   dict(
      name=['John', 'James', 'Stephen', 'Kandy'],
      age=[23, 45, 12, 34]
   )
)

df2 = pd.DataFrame(
   dict(
      subject=['Math', 'Physics', 'Chemistry', 'Biology'],
      marks=[67, 98, 90, 75]
   )
)

ax = df1.plot(x='name', y='age')
df2.plot(ax=ax, x='subject', y='marks')

plt.show()

실행 결과

위 코드를 실행하면 두 개의 데이터프레임 데이터가 하나의 그래프에 함께 출력됩니다.

Pandas로 여러 데이터프레임을 하나의 그래프에 그리는 방법Pandas로 여러 데이터프레임을 하나의 그래프에 그리는 방법