datascienceschool / book

23 stars 23 forks source link

01%20python/04.07%20%ED%94%BC%EB%B4%87%ED%85%8C%EC%9D%B4%EB%B8%94%EA%B3%BC%20%EA%B7%B8%EB%A3%B9%EB%B6%84%EC%84%9D #46

Open utterances-bot opened 3 years ago

utterances-bot commented 3 years ago

4.7 피봇테이블과 그룹분석 — 데이터 사이언스 스쿨

https://datascienceschool.net/01%20python/04.07%20%ED%94%BC%EB%B4%87%ED%85%8C%EC%9D%B4%EB%B8%94%EA%B3%BC%20%EA%B7%B8%EB%A3%B9%EB%B6%84%EC%84%9D.html

pskalyber commented 3 years ago

데이터 분석 자료 정리 내용들 아주 유용하게 잘 보고 있습니다, 감사합니다^^

그룹연산 섹션에서 "예를 들어 다음과 같은 데이터가 있을 때 key1의 값(A 또는 B)에 따른 data1의 평균은 어떻게 구할까?" 하고 설명이 이어지는데 "평균"이 아니라 "합계"로 수정되어야 할 듯 합니다. 예시가 sum을 구하는 예시네요.

lysnjn commented 2 years ago
  1. titanic["연령구간"] = pd.qcut(titanic.age, 3, labels= ["젊은", "중년", "노인"]).astype(str)
  2. def pct_alive(x): return x.sum() / len(titanic) titanic.groupby(["sex", "연령구간", "class"])[["survived"]].agg(pct_alive).unstack("class")
  3. titanic.groupby(["sex", "class"])[["survived"]].agg(pct_alive)
Jeon-doun commented 5 months ago
  1. titanic['age_group'] = pd.qcut(titanic.age, q = 3, labels = ['저연령','중연령','고연령'])
  2. def survival_rate(x): return x.survived.sum() / len(x) titanic.groupby(['sex','class','age_group']).apply(survival_rate).unstack()
  3. pd.pivot_table(data = titanic, values = 'survived', index = 'sex', columns = 'class')