[빅분기 실기] 판다스 (pandas) 그룹핑
2024. 11. 9. 23:46ㆍ빅데이터 분석기사
반응형
1. 그룹핑 (Grouping)
데이터를 다양한 방식으로 집계하고 분석하는 데는 groupby()를 사용한다.
특정 컬럼을 기준으로 여러 그룹을 나누고 각 그룹에 대한 합계, 평균, 최대, 최소, 빈도 등을 구할 수 있다.
데이터를 불러온다.
import pandas as pd
df = pd.read_csv('cafe4.csv') # https://kdh9797-devwiki.tistory.com/85
df.head()
1-1. 그룹 기준 1개
원산지를 기준으로 평균값을 계산해 보자.
df.groupby('원산지').mean(numeric_only=True)
원산지를 기준으로 그룹이 만들어진다.
수치형 데이터인 '가격', '칼로리', '이벤트가'의 평균을 확인할 수 있다.
1-2. 집계 연산
mean() | 평균 |
sum() | 합계 |
max(), min() | 최대, 최소 |
count() | 개수 (결측치 제외) |
size() | 개수 (모든 값 빈도, 결측치 포함) |
df.groupby('원산지').sum(numeric_only=True)
df.groupby('원산지').max()
df.groupby('원산지').min()
df.groupby('원산지').count()
df.groupby('원산지').size()
1-3. 그룹 기준 2개 이상
2개 이상일 때는 리스트 형태로 컬럼을 입력한다.
df.groupby(['원산지', '칼로리']).mean(numeric_only=True)
1-4. agg()
agg()는 여러 개의 컬럼에 대해 다양한 집계 연산을 동시에 수행할 수 있다.
df.groupby(['원산지', '메뉴']).agg(['mean', 'sum'])
1-5. reset_index()
그룹핑된 데이터프레임의 인덱스를 보면 기존과 모양이 다른 묶음이 되어 있다.
이 상태에서 추가적인 데이터 처리 또는 특정 값을 선택해 출력해야 한다면 reset_index()를 붙여준다.
df.groupby(['원산지', '칼로리']).mean(numeric_only=True).reset_index()
'빅데이터 분석기사' 카테고리의 다른 글
[빅분기 실기] 판다스 (Pandas) 데이터 프레임 합치기 (0) | 2024.11.16 |
---|---|
[빅분기 실기] 판다스 (pandas) 시계열 데이터 (datetime, Timedelta) (0) | 2024.11.10 |
[빅분기 실기] 판다스 (pandas) 내장 함수 (0) | 2024.11.09 |
[빅분기 실기] 판다스 (pandas) 값 변경. 문자열 (0) | 2024.11.09 |
[빅분기 실기] 판다스 (pandas) 필터링, 결측치 처리 (0) | 2024.11.09 |