본문 바로가기
빅데이터 분석

빅데이터 분석기사 실기 기출문제 -파이썬 연습(1) - 데이터 요약하기 (판다스(Pandas) .groupby() , 집계함수 (sum ,max, min, mean, std) )

by Salon de arte 2024. 6. 24.
728x90
반응형

 

오늘은 파이썬의 기초 of 기초 데이터 요약 및 집계함수.! 

 

빅데이터 분석기사 실기의 아주 걸음마 단계 

1유형 문제를 풀으려면 이정돈 기본으로 

눈을 감고도 알고 있어야 한다 

 

1. group by 함수 

import pandas as pd 

#그룹화 함수 모를땐 이렇게! 
help(pd.DataFrame.groupby)


df.groupby('컬럼명').FUN() # FUN 자리에는 집계함수를 넣어 쓸 수있음

 

2. 집계함수 

집계 함수도 아주~ 기본중의 기본이니 그냥 외울것. 

사실 이것은 외울것 보다는 그냥 기본 지식이므로 .. 따로 외울건 없지만 파이썬 초보에게는 어떻게 쓰는지를 외우는 것이 더 좋겠다 =바로나 

참고로 이전 빅데이터 분석기사 실기에서는 1 유형 에 quantile 값을 가지고 수치를 구하는 문제가 나왔다. 

 

#함수 
count() 
sum()
mean(),median()
min(), max()
quantile()
std(), var()

 

 

그럼 이것들을 groupby에 접목시켜서 그룹화 한 그룹들의 수치를 계산해보자.

 

좌좌잔~ 이렇게 쉽게 continent 를 기준으로 beer_servings의 평균을 볼 수있다. 

 

 

 

 

빅데이터 분석기사 실기 8회 기출문제가 두번째로 큰 평균 ?나라를 구하고 ... 그다음에 그 안에서 가장 소비량이 큰 나라를 구하는것인가..? (기억이 가물가물 )

 

일단 해본다. 

현재 두번째로 큰 평균은 south America 가 175로 두번째로 크네 ?

 

이 값을 내림차순으로 정렬하고 싶다면 ? 

 

 

이렇게 sort_values 함수를 써서 정렬하면된다. (아니 나 왜 갑자기 시험이 끝났는데 이렇게 함수가 기억이 잘나는 부분이지 ?ㅎㅎ ;;;)

df.groupby('continent')['beer_servings'].mean().sort_values(ascending =False)

 

자 그러면 continent 가 south America 인 나라들의 총 소비량을 구해보자 ? 

흠.. 

 

 

첫번째방법은 groupby를 통해 get_group()사용해 필터링한 것으로 sum 

 

 

3. 필터링하기 

필터링할때는 순서가 헷갈리니까 df[] 안에 () 안에 필터링할 컬럼명과 조건을 넣고 만들기 ==== 왤케 이게 안외워질까 ?

df[(df['continent] == 'south America')]['beer_servings].sum

 

이렇게 하면 south america 의 총 맥주 소비량이 나온다 

 

그런데 문제는 이게 아니였던거같은데... 

ㅎㅎㅎ 기억력 이슈로 ..오늘은 여기까지 데이터 그룹화  ! 

 

 

 

===== 여기에 심화된 그룹핑 추가하기 ==== 

 

추가 1 . 파이썬 그룹화를 할때 여러 컬럼을 한꺼번에 하고 싶다면 ? 

.agg함수를 사용해 컬럼명: 집계함수를 사용해 주면 된다. 

df.groupby('continent').agg({'beer_servings': 'mean', 
                       'spirit_servings': 'max'})
728x90
반응형

댓글