상세 컨텐츠

본문 제목

[PLAYDATA] 데이터 엔지니어링 8월 5주차 8/31

PLAYDATA/PLAYDATA데일리노트

by Na느님 2023. 8. 31. 09:27

본문

  • 8월 31일
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

 

pivot_table함수

pivot_table함수는 pivot함수에서 결측치를 대체하고 집계기능이 추가된 함수이다.

pd.pivot_table(<df_name>, index=<row>, columns=<column>, values=<string | list>[, aggfunc=<func_name>])

index: 피벗테이블의 행 이름이 될 column을 적는다.

columns: 피벗테이블의 열 이름이 될 column을 적는다.

values: 피벗테이블의 데이터가 될 column을 적는다. 두개 이상일 경우 가로로 이어서 붙여진다.

aggfunc: 적용할 통계함수 이름을 적는다. 기본값은 mean이다.

 

 

특정 column을 기준으로 행을 그룹화 시키기

특정 column의 값을 기준으로 행들을 그룹으로 묶어준다.

df_name.groupby(<column>)

그룹으로 묶어진 데이터프레임 자체로는 아무 역할을 할 수 없으며, groupby함수의 반환객체의 멤버함수를 이용하여 그룹화된 데이터테이블을 반환하도록 해야 한다.

예시)

df.groupby("x1").count()

 

groupby함수의 멤버함수들

count: 누락값을 제외한 각 그룹의 행의 갯수 (그룹의 기준이 되는 열을 제외한 모든 열들의 데이터갯수 출력)

size: 누락값을 포함한 각 그룹의 행의 갯수 (행의 갯수만 출력)

mean: 평균

sum: 합계

std: 표준편차

min/max: 최소/최대값

 

그룹에 사용자정의함수 적용하기

그룹화된 데이터테이블에서 특정 열에 대해 사용자정의함수를 적용할 수 있다.

df_name.groupby(<column>).<column_name>.agg(<func_name>, argu1=<value>, ...)

(주의!)예전의 apply 라이브러리함수와 마찬가지로, 사용자정의함수의 첫번째 argument는 무조건 Series로 들어간다(여기선 <column_name>). 따라서 매개변수를 명시할 땐 사용자정의함수의 "두번째" 매개변수부터 입력해 주어야 한다.

 

특정 그룹에 포함된 행의 인덱스(행의 이름) 추출하기

df_name.groupby(<column>).groups

 

 

 

 

 

 

 

 

 

관련글 더보기