반응형
오늘은 SQL의 GROUP BY와 비슷한 역할을 하는 판다스 데이터프레임의 groupby 메소드에 대해 알아보도록 하겠습니다. SQL에서 GROUP BY는 집계 함수(평균, 최대값, 최소값 등)와 함께 사용되는 것처럼 판다스 데이터프레임의 groupby 메소드도 mean(), max() 등의 메소드와 같이 사용됩니다.
백문이 불여일견이라고 간단한 예제를 통해 groupby 메소드의 사용법을 살펴보도록 하겠습니다. 다음과 같이 여러 사람의 국적과 연봉을 담고 있는 데이터프레임이 있다고 가정하겠습니다.
import pandas as pd
dict_data = {'국적':['한국', '일본', '중국', '미국', '중국', '한국', '미국', '러시아', '한국', '한국', '이탈리아'],
'연봉':[4000, 6200, 2500, 8600, 3000, 5600, 6800, 3800, 5200, 3300, 4400]}
df = pd.DataFrame(dict_data)
print(df)
국적을 기준으로 그룹을 지어서 국적별 연봉 평균을 알아보도록 하겠습니다.
print(df.groupby(['국적']).mean())
이와 같이 groupby와 mean을 활용해서 간단히 국적별 평균 연봉을 구할 수 있습니다. 제대로 계산된 건지 확인해볼까요? 국적이 한국인 사람이 총 4명이고, 각각 4000, 5600, 5200, 3300의 연봉이므로 모두 더해서 4로 나눠보니 4525가 맞네요.^^
이번에는 국적별 최대 연봉자의 연봉을 알아볼까요? max 메소드를 활용하면 되겠죠?
print(df.groupby(['국적']).max())
관련 글
[1] [MariaDB] Group by로 그룹화된 그룹의 개수
반응형
'코딩 > python' 카테고리의 다른 글
[python+pandas] 여러 데이터프레임 하나의 엑셀 파일 내 각각 다른 시트에 저장하기 (0) | 2022.05.15 |
---|---|
[python] seaborn 라이브러리가 제공하는 타이타닉 데이터셋 설명 (0) | 2022.05.15 |
[python+pandas] groupby 메소드로 그룹의 평균값, 최대값 산출하기 (0) | 2022.04.28 |
[python+pandas] 판다스 데이터 프레임에서 컬럼의 고유값을 알고 싶으면, unique 메소드 (0) | 2022.04.27 |
[python+pandas] 판다스 데이터프레임 sort_values 메소드 (0) | 2022.04.26 |
[python+pandas] 판다스 데이터프레임 loc, at, iloc, iat 메소드 비교 (0) | 2022.04.24 |
[python] 파이썬 리스트에 최대 몇 개의 요소가 들어갈 수 있을까? (9) | 2022.04.19 |
[python] UnicodeDecodeError: 'cp949' codec can't decode byte 0xed in position 135: illegal multibyte sequence 에러 해결법 (0) | 2022.04.18 |
[python+opencv] ip 카메라(cctv)로부터 영상 받기 (2) | 2022.03.31 |