초보자를 위한 pandas 기초 ⑥Group by

pandas란?



Python에서 구조화 된 데이터 (테이블 형식의 데이터)를 처리하는 라이브러리입니다. 파일의 로드나 그 후의 가공·추출 처리등을 간단하게 실시할 수가 있고(SQL적인 감각으로 실시할 수 있다), 기계 학습등의 데이터의 전처리로 필수가 되는 라이브러리입니다.
다른 항목에 대한 목차는 여기입니다.

소개



이 기사에서는 Group by 테이블에 대해 설명합니다. 기본적인 SQL의 지식이 있는 전제로의 기재가 됩니다.

샘플은 타이타닉 데이터를 사용해보십시오. 타이타닉을 모르는 사람은 「kaggle 타이타닉」으로 조사해 주세요.
dataframe = pd.read_csv('train.csv')

사용법



먼저 라이브러리를 가져옵니다. pandas에 pd라는 이름을 붙여 import합니다.
import pandas as pd

기본 샘플 구문은 아래와 같습니다.

Sex(성별)와 Survived(생존 플래그)로 그룹화하고 count()에서 요소 수를 계산합니다.
dataframe.groupby(['Sex','Survived']).count()



대상이 되는 열을 짜는 경우는 아래와 같이 기재합니다. (예로서 Age(연령)에 한정합니다)
dataframe.groupby(['Sex','Survived'])['Age'].count()



평균을 얻으려면 .mean() , 행 수를 얻으려면 .size() 와 같이 count() 부분을 바꿉니다. describe() 전체 느낌을 잡을 수 있습니다.
dataframe.groupby(['Sex','Survived']).describe()



추출



SQL의 Group by 이미지와는 다르지만 데이터 추출에도 사용할 수 있습니다.
Sex(성별)가 male의 데이터를 추출합니다.
dataframe.groupby(['Sex']).get_group("male") 



이상입니다. 그룹화에 대해서는 보다 다양한 기능이 있습니다만, 별로 사용하지 않기 때문에 여기까지 둡니다. 그 밖에도 하고 싶은 일이 있는 분은, 스스로의 조사를 부탁합니다.

마지막으로



초보자도 알 수 있듯이 Python에서 기계 학습을 실시할 때 필요한 지식을 간편하게 기사로 정리하고 있습니다.
목차는 여기이므로 다른 기사도 참고해 주시면 감사하겠습니다.

좋은 웹페이지 즐겨찾기