본문 바로가기
공부/data science

[Python] Matplotlib with Pandas

by 마자용 2021. 9. 8.

Matplotlib with Pandas

Pandas를 이용해 csv 파일을 불러와 시각화를 진행해보도록 하겠습니다.

포켓몬에 대한 데이터가 담긴 csv 파일을 불러와서 공격 타입에 따라 다른 색상을 띠는 산점도 그래프를 그리고 라벨을 한번 붙여보도록 합시다.

공격 능력치와 수비 능력치가 x와 y축으로 주어지고, 물 타입 포켓몬은 파란색, 불 타입 포켓몬은 빨간색으로 표현하도록 합니다.


이렇게 해보세요!

  1. pokemon.csv 파일을 읽어와 df변수에 데이터프레임으로 저장해보세요.
  2. 공격 타입에 Fire 속성이 존재하는 데이터들만 추출하여 fire 변수에 저장해보세요.
  3. 공격 타입에 Water 속성이 존재하는 데이터들만 추출하여 water 변수에 저장해보세요.
  4. 아래 표를 참고하여 추출한 데이터를 하나의 산점도 그래프로 함께 그리는 코드를 완성해보세요.
속성 fire water
x축 공격능력치 공격능력치
y축 방어능력치 방어능력치
색상 빨강 파랑
라벨 Fire Water
마커 * .
크기 50 25

제출한 코드

from elice_utils import EliceUtils
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

elice_utils = EliceUtils()

# 아래 경로에서 csv파일을 읽어서 df 변수에 저장해보세요.
# 경로: "./data/pokemon.csv"
df = pd.read_csv("./data/pokemon.csv")

# 공격 타입 Type 1, Type 2 중에 Fire 속성이 존재하는 데이터들만 추출해보세요.
fire = df[(df['Type 1']=='Fire') | (df['Type 2']=='Fire')]
# 공격 타입 Type 1, Type 2 중에 Water 속성이 존재하는 데이터들만 추출해보세요.
water = df[(df['Type 1']=='Water') | (df['Type 2']=='Water')]

fig, ax = plt.subplots()
# 왼쪽 표를 참고하여 아래 코드를 완성해보세요.
ax.scatter(fire['Attack'], fire['Defense'],
    marker='*', color='R', label='Fire', s=50)
ax.scatter(water['Attack'], water['Defense'],
    marker='.', color='B', label='Water', s=25)

ax.set_xlabel("Attack")
ax.set_ylabel("Defense")
ax.legend(loc="upper right")

# elice에서 그래프 확인하기
fig.savefig("plot.png")
elice_utils.send_image("plot.png")

 

'공부 > data science' 카테고리의 다른 글

google colab 세션 연결 끊김 방지  (0) 2021.11.27
EDA (탐색적 데이터 분석) 과정 연습  (0) 2021.09.13
Pandas  (0) 2021.09.05

댓글