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

Python Pandas DataFrame으로 산점도(Scatter Plot) 그리기

산점도(Scatter Plot)는 두 변수 간의 관계를 점으로 표현하는 대표적인 데이터 시각화 기법입니다. Pandas에서는 plot.scatter() 메서드를 사용하면 DataFrame의 데이터를 손쉽게 산점도로 그릴 수 있습니다.

1. 필요한 라이브러리 불러오기

먼저 데이터 처리를 위한 pandas와 그래프 표시를 위한 matplotlib을 임포트합니다.

import pandas as pd
import matplotlib.pyplot as mp

2. 데이터 준비 및 DataFrame 생성

이번 예제에서는 팀별 랭킹 포인트(Team Records) 데이터를 사용합니다. 리스트 형태의 데이터를 Pandas DataFrame으로 변환해 보겠습니다.

# 우리가 사용할 데이터
data = [["Australia", 2500], ["Bangladesh", 1000], ["England", 2000], ["India", 3000], ["Srilanka", 1500]]

# DataFrame 생성
dataFrame = pd.DataFrame(data, columns=["Team", "Rank_Points"])

3. 산점도 그리기

plot.scatter() 메서드에 x축과 y축으로 사용할 열(column) 이름을 지정하면 산점도가 생성됩니다.

  • x: x축에 표시할 열 이름 (여기서는 "Team")
  • y: y축에 표시할 열 이름 (여기서는 "Rank_Points")
dataFrame.plot.scatter(x="Team", y="Rank_Points")

전체 예제 코드

지금까지의 내용을 하나로 합친 전체 코드는 다음과 같습니다.

import pandas as pd
import matplotlib.pyplot as mp

# 우리가 사용할 데이터
data = [["Australia", 2500], ["Bangladesh", 1000], ["England", 2000], ["India", 3000], ["Srilanka", 1500]]

# DataFrame 생성
dataFrame = pd.DataFrame(data, columns=["Team", "Rank_Points"])

# DataFrame으로 산점도 그리기
dataFrame.plot.scatter(x="Team", y="Rank_Points")

# 산점도 화면에 표시
mp.show()

실행 결과

위 코드를 실행하면 팀(Team)을 x축으로, 랭킹 포인트(Rank_Points)를 y축으로 하는 산점도가 출력됩니다. 각 팀의 랭킹 포인트가 개별 점으로 표시되어 데이터 분포를 한눈에 파악할 수 있습니다.

Python Pandas DataFrame으로 산점도(Scatter Plot) 그리기

추가 팁

산점도를 더 보기 좋게 꾸미고 싶다면 s(점 크기), c(점 색상), grid=True(격자 표시) 등의 옵션을 함께 사용할 수 있습니다.

dataFrame.plot.scatter(x="Team", y="Rank_Points", s=100, c="red", grid=True)