반응형
SMALL
이번 학습은 엑셀(Excel)에서 사용하는 피벗(pivot) 테이블과 비슷한 기능을 처리하는 방법입니다
import pandas
import seaborn
def max_min(x) :
return x.max() - x.min()
def z_score(x) :
return (x - x.mean()) / x.std()
pandas.set_option('display.max_columns', 10)
pandas.set_option('display.max_colwidth', 20)
titanic_data = seaborn.load_dataset('titanic')
pivot = pandas.pivot_table(titanic_data, # 피벗할 데이터프레임
index = 'class', # 행 위치에 들어갈 열
columns = 'sex', # 열 위치에 들어갈 열
values = 'age', # 데이터로 사용할 열
aggfunc = 'mean') # 데이터 집계 함수
print(pivot.head(), end = '\n')
pivot = pandas.pivot_table(titanic_data, # 피벗할 데이터프레임
index = 'class', # 행 위치에 들어갈 열
columns = 'sex', # 열 위치에 들어갈 열
values = 'age', # 데이터로 사용할 열
aggfunc = ['mean', 'sum']) # 데이터 집계 함수
print(pivot.head(), end = '\n')
pivot = pandas.pivot_table(titanic_data, # 피벗할 데이터프레임
index = ['class', 'sex'], # 행 위치에 들어갈 열
columns = 'survived', # 열 위치에 들어갈 열
values = ['age', 'fare'], # 데이터로 사용할 열
aggfunc = ['mean', 'max']) # 데이터 집계 함수
print(pivot.head(), end = '\n')
print(pivot.xs('First'), end = '\n')
print(pivot.xs(('First', 'female')), end = '\n')
print(pivot.xs('male', level = 'sex'), end = '\n')
print(pivot.xs(('Second', 'male'), level = [0,'sex']), end = '\n')
print(pivot.xs('mean', axis = 1), end = '\n')
print(pivot.xs(('mean', 'age'), axis = 1), end = '\n')
print(pivot.xs(1, level = 'survived', axis = 1), end = '\n')
print(pivot.xs(('max', 'fare', 0), level = [0, 1, 2], axis = 1), end = '\n')
이것으로 오늘의 학습을 마치겠습니다
다음 학습부터는 머신 러닝(Machine Learning)을 진행하겠습니다
반응형
LIST
'Python' 카테고리의 다른 글
[Python] 데이터 프레임(Data Frame) 심화_4 (0) | 2019.10.18 |
---|---|
[Python] 데이터 프레임(Data Frame) 심화_3 (0) | 2019.10.16 |
[Python] 데이터 프레임(Data Frame) 심화_2 (0) | 2019.10.16 |
[Python] 데이터 프레임(Data Frame) 심화_1 (0) | 2019.10.11 |
[Python] 데이터 사전 처리(Preprocessing)_4 (0) | 2019.10.10 |