본문 바로가기
CODING/Python

[Python/pandas] Groupby 활용 / Groupby에서 특정 group 가져오기 / 그룹별 연산하기

by 밍톨맹톨 2023. 4. 24.
728x90
728x90

# 기본 데이터 형태

예시 데이터로 포켓몬 데이터를 사용함.

# 0. 기본 모듈 import & 데이터 불러오기

import pandas as pd
import numpy as np

data = pd.read_csv('./Data/pokemon.csv')

# 1. Group화 시키기 

다양하게 활용하기 위해서 group화 시킨 것을 객체에 넣어서 사용하는 것을 추천

data_g = data.groupby('TYPE1')

 

# 1-1 Group 목록 확인하기 

data_g.groups.keys() # 그룹 내에 어떤 그룹들이 있는지 확인할 때

⬇ OUTPUT

dict_keys(['Bug', 'Dark', 'Dragon', 'Electric', 'Fairy', 'Fighting', 'Fire', 'Flying', 'Ghost', 'Grass', 'Ground', 'Ice', 'Normal', 'Poison', 'Psychic', 'Rock', 'Steel', 'Water'])

# 2 Group 별로 비교를 위한 연산

빠르게 볼 때 pd.Series 형태로 나옴

data_g['HP'].mean() # 빠르게 볼 때

output이 pd.Series형태로 나옴

  

 

 

 

 

 

 

data_g['HP'].mean().to_frame() # 데이터 프레임 형태로 볼 때

output이 pd.DataFrame형태로 나옴

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# 2 Group 중  특정 Group만 가져오기

data_g.get_group('Bug') # Bug그룹만 가져오기

# 2-1 Group 중  특정 Group만 가져와서 그래프 그리기 

bugs = data_g.get_group('Bug')

sns.scatterplot(bugs, x = 'ATTACK', y='DEFENSE', hue='HP')
plt.show()

728x90

댓글