데이터 그룹화하기
- 그룹을 만들고자하는 컬럼은 범주형 데이터 유형이어야 함
groupby()
: 그룹화 하는 함수head()
: 그룹화된 데이터 확인하기- 괄호 안에 아무것도 없으면, 전체 그룹 조회가 됨
- 숫자를 넣으면 각 그룹에서 n개씩 보여줌
get_group()
: 특정 그룹만 조회하는 함수groups
: 각 그룹의 범주별로 인덱스 추출하기. 딕셔너리 타입으로 추출됨
- 클래스 및 성별 각 과목 평균 구하기
# 클래스 및 성별 각 과목의 평균 구하기
df.groupby(["class", "sex"]).mean()
>> 결과
science english math
class sex
A m 54.0 98.0 40.0
w 69.0 91.5 52.5
B m 71.5 89.5 65.0
w 45.0 79.0 90.0
C w 30.0 95.5 35.0
- 그룹화하고 각 그룹의 인덱스 추출하기
# 성별로 그룹화하기
df_sex = df.groupby(["sex"])
# 각 그룹의 인덱스 추출하기
df_sex.groups
>> 결과
{'m': [0, 3, 5, 6], 'w': [1, 2, 4, 7, 8, 9]}
- 특정 그룹에 대한 데이터 조회
# 성별 그룹 데이터 중 남학생에 대한 수학점수 조회
df_sex.get_group("m")[["math", "sex"]]
>> 결과
math sex
0 50 m
3 30 m
5 50 m
6 80 m