[실습] Python : 06. Pivot

yeppi1802·2024년 6월 23일

개념정리

☁️ Q82. 데이터를 로드하라.

import pandas as pd
DriveUrl = 'DriveUrl_자료주소'
df = pd.read_csv(DriveUrl)
df.head()

☁️ Q83. Indicator을 삭제하고 First Tooltip 컬럼에서 신뢰구간에 해당하는 표현을 지워라

df.drop('Indicator',axis=1,inplace=True)

df['First Tooltip'] = df['First Tooltip'].map(lambda x : float(x.split('[')[0]))
# First Tooltip의 60.27 [47.44-74.62]을 '[' 기준으로 나누고
# 나뉜 리스트의 0번 인덱스를 float형태로 매핑

Ans = df
Ans.head()

☁️ Q84. 년도가 2015년 이상, Dim1이 Both sexes인 케이스만 추출하라

target = df[(df.Period >= 2015) & (df.Dim1 == 'Both sexes')]
Ans = target
Ans.head()

☁️ Q85. 84번 문제에서 추출한 데이터로 아래와 같이 나라에 따른 년도별 사망률을 데이터 프레임화 하라

Ans = target.pivot(index = 'Location', columns = 'Period', values = 'First Tooltip')
Ans.head()

☁️ Q86. Dim1에 따른 년도별 사망비율의 평균을 구하라

Ans = df.pivot_table(index = 'Dim1', columns = 'Period', values = 'First Tooltip', aggfunc = 'mean')
# aggfunc : 결과로 출력될 함수

Ans.iloc[:,:4]
# Ans

☁️ Q87. 데이터에서 한국 KOR 데이터만 추출하라

DriveUrl = 'DriveUrl_자료주소'
df = pd.read_csv(DriveUrl)
df.head()
# kr.Country.unique()
kr = df[df.Country == 'KOR']
Ans = kr
Ans.head()

☁️ Q88. 한국 올림픽 메달리스트 데이터에서 년도에 따른 medal 갯수를 데이터프레임화 하라

Ans = kr.pivot_table(index = 'Year', columns = 'Medal', aggfunc = 'size').fillna(0)
Ans.head()
# Ans[['Bronze', 'Silver', 'Gold']]
Ans[['Gold', 'Silver', 'Bronze']]
# 위의 문제 결과 column 순서 조정

☁️ Q89. 전체 데이터에서 sport종류에 따른 성별수를 구하여라

Ans = df.pivot_table(index = 'Sport', columns = 'Gender', aggfunc = 'size')
Ans.head()

☁️ Q90. 전체 데이터에서 Discipline종류에 따른 Medal수를 구하여라

Ans = df.pivot_table(index='Discipline', columns = 'Medal', aggfunc = 'size')
Ans

0개의 댓글