초보자를 위한 pandas 기초 ⑤Pivot 테이블(Excel 대비 첨부)
pandas란?
Python에서 구조화 된 데이터 (테이블 형식의 데이터)를 처리하는 라이브러리입니다. 파일의 로드나 그 후의 가공·추출 처리등을 간단하게 실시할 수가 있고(SQL적인 감각으로 실시할 수 있다), 기계 학습등의 데이터의 전처리로 필수가 되는 라이브러리입니다.
다른 항목에 대한 목차는 여기입니다.
소개
이 기사에서는 Pivot 테이블에 대해 설명합니다. Pivot이란 무엇인가 등은 생략합니다. 기본적으로 Excel에서는 여기의 설정이 pandas 구문에서는 이렇게 된다는 기재로 합니다.
샘플은 타이타닉 데이터를 사용해보십시오. 타이타닉을 모르는 사람은 「kaggle 타이타닉」으로 조사해 주세요.
dataframe = pd.read_csv('train.csv')
사용법
먼저 라이브러리를 가져옵니다. pandas에 pd라는 이름을 붙여 import합니다.
import pandas as pd
기본 샘플 구문은 아래와 같습니다.
dataframe.pivot_table(index =['Age'], columns = 'Sex', values = 'Fare', aggfunc = 'count', margins=True, margins_name='Total')
Excel의 Pivot 기능과 비교하면 index
가 "행", columns
가 "열", values
가 "값"aggfunc
이 "필드 설정"에 해당합니다. aggfunc
는 개수에 해당하는 count
를 설정했습니다.
margins
는 "총계"에 해당하고 margins_name
는 레이블 이름입니다.
aggfunc
는 평균입니다. mean
, max
min
병기하고 싶은 경우는, ['count','mean']
로 해 주세요.
누락 값 처리
주의사항으로서, 집계 대상의 데이터에 결측치가 포함되면 Excel에서는 「(공백)」로서 취급해 줍니다만, pandas에서는 집계의 대상이 되지 않습니다. 그 때문에 결측치 처리를 실시할 필요가 있습니다. 누락 값 처리에 대해서는 여기을 참조하십시오.
그런 다음 집계 결과의 누락 값이지만 NaN
로 표시됩니다. 그것을 채우고 싶다면 fill_value
를 지정하십시오.
예를 들어, 누락된 값을 0으로 채웁니다.
dataframe.pivot_table(index =['Age'], columns = 'Sex', values = 'Fare', aggfunc = 'count', margins=True, margins_name='Total',fill_value=0.0)
이상입니다.
마지막으로
초보자도 알 수 있듯이 Python에서 기계 학습을 실시할 때 필요한 지식을 간편하게 기사로 정리하고 있습니다.
목차는 여기이므로 다른 기사도 참고해 주시면 감사하겠습니다.
Reference
이 문제에 관하여(초보자를 위한 pandas 기초 ⑤Pivot 테이블(Excel 대비 첨부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yanagawa_Yoshihisa/items/df8880b981306539c797
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 기사에서는 Pivot 테이블에 대해 설명합니다. Pivot이란 무엇인가 등은 생략합니다. 기본적으로 Excel에서는 여기의 설정이 pandas 구문에서는 이렇게 된다는 기재로 합니다.
샘플은 타이타닉 데이터를 사용해보십시오. 타이타닉을 모르는 사람은 「kaggle 타이타닉」으로 조사해 주세요.
dataframe = pd.read_csv('train.csv')
사용법
먼저 라이브러리를 가져옵니다. pandas에 pd라는 이름을 붙여 import합니다.
import pandas as pd
기본 샘플 구문은 아래와 같습니다.
dataframe.pivot_table(index =['Age'], columns = 'Sex', values = 'Fare', aggfunc = 'count', margins=True, margins_name='Total')
Excel의 Pivot 기능과 비교하면 index
가 "행", columns
가 "열", values
가 "값"aggfunc
이 "필드 설정"에 해당합니다. aggfunc
는 개수에 해당하는 count
를 설정했습니다.
margins
는 "총계"에 해당하고 margins_name
는 레이블 이름입니다.
aggfunc
는 평균입니다. mean
, max
min
병기하고 싶은 경우는, ['count','mean']
로 해 주세요.
누락 값 처리
주의사항으로서, 집계 대상의 데이터에 결측치가 포함되면 Excel에서는 「(공백)」로서 취급해 줍니다만, pandas에서는 집계의 대상이 되지 않습니다. 그 때문에 결측치 처리를 실시할 필요가 있습니다. 누락 값 처리에 대해서는 여기을 참조하십시오.
그런 다음 집계 결과의 누락 값이지만 NaN
로 표시됩니다. 그것을 채우고 싶다면 fill_value
를 지정하십시오.
예를 들어, 누락된 값을 0으로 채웁니다.
dataframe.pivot_table(index =['Age'], columns = 'Sex', values = 'Fare', aggfunc = 'count', margins=True, margins_name='Total',fill_value=0.0)
이상입니다.
마지막으로
초보자도 알 수 있듯이 Python에서 기계 학습을 실시할 때 필요한 지식을 간편하게 기사로 정리하고 있습니다.
목차는 여기이므로 다른 기사도 참고해 주시면 감사하겠습니다.
Reference
이 문제에 관하여(초보자를 위한 pandas 기초 ⑤Pivot 테이블(Excel 대비 첨부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yanagawa_Yoshihisa/items/df8880b981306539c797
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
dataframe.pivot_table(index =['Age'], columns = 'Sex', values = 'Fare', aggfunc = 'count', margins=True, margins_name='Total')
주의사항으로서, 집계 대상의 데이터에 결측치가 포함되면 Excel에서는 「(공백)」로서 취급해 줍니다만, pandas에서는 집계의 대상이 되지 않습니다. 그 때문에 결측치 처리를 실시할 필요가 있습니다. 누락 값 처리에 대해서는 여기을 참조하십시오.
그런 다음 집계 결과의 누락 값이지만
NaN
로 표시됩니다. 그것을 채우고 싶다면 fill_value
를 지정하십시오.예를 들어, 누락된 값을 0으로 채웁니다.
dataframe.pivot_table(index =['Age'], columns = 'Sex', values = 'Fare', aggfunc = 'count', margins=True, margins_name='Total',fill_value=0.0)
이상입니다.
마지막으로
초보자도 알 수 있듯이 Python에서 기계 학습을 실시할 때 필요한 지식을 간편하게 기사로 정리하고 있습니다.
목차는 여기이므로 다른 기사도 참고해 주시면 감사하겠습니다.
Reference
이 문제에 관하여(초보자를 위한 pandas 기초 ⑤Pivot 테이블(Excel 대비 첨부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yanagawa_Yoshihisa/items/df8880b981306539c797
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(초보자를 위한 pandas 기초 ⑤Pivot 테이블(Excel 대비 첨부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yanagawa_Yoshihisa/items/df8880b981306539c797텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)