본문 바로가기
개발 Tools/파이썬_Pandas & Numpy

pandas 그룹으로 나누기 ( groupby(), agg() )

by 전컴반 2021. 4. 29.
반응형

안녕하세요!

이번에는 간단히 groupby 라는 함수를 알아볼까 합니다. pivot_ table 과 같은 기능을 하는데요 저는 groupby 만 쓰려합니다!

 

groupby 란, 원래 데이터 프레임에서 내가 원하는 데이터 프레임을 만다는 걸 의미합니다. 영어 뜻부터 그룹화 한다, [by ==~로]  입니다!

 

사용법은 간단합니다. df.groupby(["~를"])["~로"].계산

 

 

뒤에 count() 는 내가 원하는 값에 따라 다르게 설정할 수 있습니다 ( sum, mean 등등 ). 원래 데이터 프레임에서 "성별코드" 에 따라 "가입자일련번호" 를 카운트 해라! 입니다.

당연히 그럼 궁금증이 생깁니다. 만약 내가 1:1 대응이 아니라 여러 개라면??

 

이것 또한 간단합니다. [] 안에 추가만 해주면 됩니다

 

 

이러면 "성병코드" 와 "음주여부" 에 따른 인원수 라고 볼 수 있습니다. 좀 더 풀어말하면

1) 남자/여자로 한번 구분하고

2) 남자 중에 음주를 하냐 안하냐, 여자 중에 음주를 하냐 안하냐

3) 위 조건에 해당하는 사람의 수를 구한다

 

한번 더 궁금중이 생깁니다. 뒤에 계산하는 건 하나밖에 못하나?? 만약 나는 총 합이랑 평균이 궁금하다면?? 다 방법이 있습니다. agg 라는 함수를 사용합니다

 

 

agg() 를 활용하면 내가 원하는 다양한 수치를 얻을 수 있습니다. 단, 가입자 일련번호에 대한 수치들임을 명시합니다! 더 많은 조건들이 있습니다! 필요하면 그때그때 찾아보며 하는 게 좋을 거 같습니다

 

감사합니다!

반응형

댓글