본문 바로가기

코딩으로 익히는 Python/Pandas

[Python] 17. pandas DataFrame groupby : groupby(), sum(), max(), min(), count(), agg()예제

728x90
반응형
SMALL
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
import matplotlib

rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False

 

데이터 불러오기 (pd.read_csv)

python 파일 경로에 data폴더 만든 후 다음의 hotel.xlsx 파일 넣어놓기

hotel.xlsx
0.01MB

 

df = pd.read_excel('data/hotel.xlsx',index_col=0)
df.head()

 

df['grade'].unique()
[OUT] :

array([10,  8,  6,  9,  7,  5])

 

df['grade'].value_counts().sort_index()
[OUT] :

5     6
6     2
7     3
8     5
9     2
10    2
Name: grade, dtype: int64

groupby

  • 등급별 가격의 합(~별)
  • sum, mean, count, max, min, agg
  • 집계 가능(숫자) 모든 컬럼

 

g = df.groupby('grade')

 

g.sum()[['price']]

 

g.mean()[['price']]

 

g.max()[['price']]

 

g.min()[['price']]

 

g.count()[['price']]

 

# agg->집계결과 여러개 보기
mydf = g.agg(['sum','mean','count'])['price']
mydf.columns=['가격의 총합','가격의 평균','가격의 개수']
mydf


review
- agg(['sum','mean','count']) : 집계결과 여러개 보기 가능
728x90
반응형
LIST