<jupyter_start><jupyter_text>판다스 기초강의08. pivot_table, groupby    성  민  석 (Minsuk  Sung)류  회  성 (Hoesung Ryu)이  인  구 (Ike Lee) 강의목차1&nbsp;&nbsp;Group by()1.1&nbsp;&nbsp;연도별 전체의 총인구수 구하기1.2&nbsp;&nbsp;연도별 전체의 남자인구, 여자인구, 총인구 수 구하기1.3&nbsp;&nbsp;자치구별로 평균 총인구수1.4&nbsp;&nbsp;도시/자치구별 평균 총인구수2&nbsp;&nbsp;pivot_table()2.1&nbsp;&nbsp;도시/자치구 별로 남자인구의 평균을 구한 후, 남자인구가 가장 많은 도시/자치구 5개를 출력하시오.2.2&nbsp;&nbsp;남자와 여자인구수 차이의 평균을 구한 후, 가장 많이 차이나는 도시/자치구 3개를 찾으시오.  Group by()<jupyter_code># 실습 데이터 적재
import pandas as pd
import numpy as np 
data = pd.read_excel('data/population.xlsx')
data.head()<jupyter_output><empty_output><jupyter_text>연도별 전체의 총인구수 구하기slq```(sqllite3)SELECT 연도, sum(총인구)FROM dataGROUP BY 연도```<jupyter_code>data.groupby('연도')['총인구'].sum()<jupyter_output><empty_output><jupyter_text>연도별 전체의 남자인구, 여자인구, 총인구 수 구하기<jupyter_code>data.groupby('연도')[['남자인구','여자인구','총인구']].sum()<jupyter_output><empty_output><jupyter_text>자치구별로 년평균 남여 총인구수<jupyter_code>data.groupby('자치구')['총인구'].mean()<jupyter_output><empty_output><jupyter_text>도시/자치구별 년평균 남여 총인구수<jupyter_code>data.groupby(['도시','자치구'])['총인구'].mean()<jupyter_output><empty_output><jupyter_text>pivot_table()- index: 로우 인덱스 활용할 컬럼 - column: 컬럼인덱스로 활용할 컬럼- aggfunc: 적용할 집계함수- values: 집계함수를 적용할 컬럼   도시/자치구 별로 남자인구의 년평균을 구한 후, 남자인구가 가장 많은 도시/자치구 5개를 출력하시오.<jupyter_code>data.pivot_table(index=['도시','자치구'],
                 aggfunc='mean',
                 values='남자인구').sort_values(by='남자인구',
                                              ascending=False).head()<jupyter_output><empty_output><jupyter_text>남자와 여자인구수 차이의 년평균을 구한 후, 가장 많이 차이나는 도시/자치구 3개를 찾으시오. Hint.abs() = 절대값을 구하는 함수<jupyter_code>data['남녀차이'] = abs(data['남자인구']-data['여자인구'])
data.pivot_table(index=['도시','자치구'],
                 aggfunc='mean',
                 values='남녀차이').sort_values('남녀차이',
                                              ascending=False).head(3)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.15797705943691345, 'fraction_numerical': 0.011470281543274244, 'mean_word_length': 4.301104972375691, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '54549', 'license': 'MIT', 'n_tokens_mistral': 1122, 'n_tokens_neox': 1495, 'n_words': 141, 'path': 'pandas/pandas basic lecture008. pivot_table, groupby.ipynb', 'repo_name': 'ikelee22/pythonlib', 'size': '1918'}