CODING/Python
[Python/pandas] Groupby 활용 / Groupby에서 특정 group 가져오기 / 그룹별 연산하기
밍톨맹톨
2023. 4. 24. 23:19
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 별로 비교를 위한 연산
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