[Python] 06. Pivot

hhyun·2024년 6월 22일

[Python]

목록 보기
6/11

📖 Pivot

💭 Data Read

DriveUrl = '링크'
df = pd.read_csv(DriveUrl)
df.head()

💭 Q83. Indicator을 삭제하고 First Tooltip 컬럼에서 신뢰구간에 해당하는 표현을 지우기

  • axis=1 : 행
  • axis=0 : 열
df.drop('Indicator',axis=1,inplace=True)

df['First Tooltip'] = df['First Tooltip'].map(lambda x: float(x.split("[")[0]))

Ans = df
Ans.head()

💭 Q84. 년도가 2015년 이상, Dim1이 Both sexes인 케이스만 추출

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

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

  • pivot : 데이터의 열을 기준으로 피벗테이블로 변환시키는 메서드
    • index : 인덱스로 사용될 열
    • columns : 열로 사용될 열
    • values : 값으로 입력될 열
Ans = target.pivot(index='Location',columns='Period',values='First Tooltip')
Ans.head()

💭 Q86. Dim1에 따른 년도별 사망비율의 평균을 구하기

  • pivot_table : 데이터를 연산이 가능한 피벗 테이블로 변환하는 메서드
    • aggfunc : 결과로 출력될 함수
Ans = df.pivot_table(index='Dim1',columns='Period',values='First Tooltip',aggfunc='mean')
Ans.iloc[:,:4]
# Ans

💭 Data Read

DriveUrl = '링크'
df = pd.read_csv(DriveUrl)
df.head()

💭 Q87. 데이터에서 한국 KOR 데이터만 추출

# 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']]

💭 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개의 댓글