group을 2개 이상 지정 시 ["col1","col2", ...]  등으로 사용할 수 있다.

titanic의 생존자 중 여자와 아이먼저 의 rule이 지켜졌는지 확인해보자.

 

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv("titanic.csv")

# child여부를 확인하는 신규 column을 생성한다.
df["ischild"]=np.where(df.Age <= 12, "child","adalt")

# 성별과 아이여부에 따른 생존율을 구한다. unstack하면 multi index -> col로 변환한다. 
df.groupby(["Sex","ischild"])[["Survived"]].mean().unstack()
#       	     Survived
# ischild	adalt		child
# Sex		
# female	0.758865	0.593750
# male		0.162963	0.567568

# 결과를 저장하고 그래프로 출력한다.
survive = df.groupby(["Sex","ischild"])[["Survived"]].mean().unstack()
survive.plot(kind="bar", figsize=(3,3))
plt.show()

여성과 어린이의 생존율이 높다.

 

'전처리' 카테고리의 다른 글

Pandas groupby secton4 transform  (0) 2023.06.20
Pandas groupby section3 (agg)  (0) 2023.06.20
Pandas groupby section1  (0) 2023.06.20
jupyter notebook  (0) 2023.06.14
내장 datasets  (0) 2023.05.05

+ Recent posts