728x90
Pandas 연습 문제 풀기 -5 🐼
필요한 라이브러리 임포트¶
In [1]:
import pandas as pd
import numpy as np
데이터 불러오기¶
read_csv를 통해 './data/drinks.csv'파일을 올바른 형태로 불러온 뒤 drinks 저장해주세요
In [2]:
drinks = pd.read_csv('./data/drinks.csv')
drinks
Out[2]:
country | beer_servings | spirit_servings | wine_servings | total_litres_of_pure_alcohol | continent | |
---|---|---|---|---|---|---|
0 | Afghanistan | 0 | 0 | 0 | 0.0 | AS |
1 | Albania | 89 | 132 | 54 | 4.9 | EU |
2 | Algeria | 25 | 0 | 14 | 0.7 | AF |
3 | Andorra | 245 | 138 | 312 | 12.4 | EU |
4 | Angola | 217 | 57 | 45 | 5.9 | AF |
... | ... | ... | ... | ... | ... | ... |
188 | Venezuela | 333 | 100 | 3 | 7.7 | SA |
189 | Vietnam | 111 | 2 | 1 | 2.0 | AS |
190 | Yemen | 6 | 0 | 0 | 0.1 | AS |
191 | Zambia | 32 | 19 | 4 | 2.5 | AF |
192 | Zimbabwe | 64 | 18 | 4 | 4.7 | AF |
193 rows × 6 columns
어느 대륙(continent)이 평균 맥주 소모량이 가장 높은가요?¶
In [3]:
drinks.groupby("continent")["beer_servings"].mean()
Out[3]:
continent
AF 61.471698
AS 37.045455
EU 193.777778
OC 89.687500
SA 175.083333
Name: beer_servings, dtype: float64
각 대륙(continent)별 와인 소모 통계값 계산해주세요¶
count, mean,std, min, max값은 'describe'를 통해 한번에 조회할 수 있습니다
groupby후 describe를 적용해보세요
In [4]:
drinks.groupby("continent")["wine_servings"].describe()
Out[4]:
count | mean | std | min | 25% | 50% | 75% | max | |
---|---|---|---|---|---|---|---|---|
continent | ||||||||
AF | 53.0 | 16.264151 | 38.846419 | 0.0 | 1.0 | 2.0 | 13.00 | 233.0 |
AS | 44.0 | 9.068182 | 21.667034 | 0.0 | 0.0 | 1.0 | 8.00 | 123.0 |
EU | 45.0 | 142.222222 | 97.421738 | 0.0 | 59.0 | 128.0 | 195.00 | 370.0 |
OC | 16.0 | 35.625000 | 64.555790 | 0.0 | 1.0 | 8.5 | 23.25 | 212.0 |
SA | 12.0 | 62.416667 | 88.620189 | 1.0 | 3.0 | 12.0 | 98.50 | 221.0 |
평균 알코올 소비량을 대륙별로 조회해주세요¶
Hint: 대륙별로 모든 column에 대하여 평균값을 구해주세요
In [5]:
drinks.groupby('continent').mean()
Out[5]:
beer_servings | spirit_servings | wine_servings | total_litres_of_pure_alcohol | |
---|---|---|---|---|
continent | ||||
AF | 61.471698 | 16.339623 | 16.264151 | 3.007547 |
AS | 37.045455 | 60.840909 | 9.068182 | 2.170455 |
EU | 193.777778 | 132.555556 | 142.222222 | 8.617778 |
OC | 89.687500 | 58.437500 | 35.625000 | 3.381250 |
SA | 175.083333 | 114.750000 | 62.416667 | 6.308333 |
In [6]:
drinks.groupby('continent').median()
Out[6]:
beer_servings | spirit_servings | wine_servings | total_litres_of_pure_alcohol | |
---|---|---|---|---|
continent | ||||
AF | 32.0 | 3.0 | 2.0 | 2.30 |
AS | 17.5 | 16.0 | 1.0 | 1.20 |
EU | 219.0 | 122.0 | 128.0 | 10.00 |
OC | 52.5 | 37.0 | 8.5 | 1.75 |
SA | 162.5 | 108.5 | 12.0 | 6.85 |
Print the mean, min and max values for spirit consumption.¶
증류주(spirit) 소비량의 평균, 최소, 최대값을 구해주세요
In [7]:
drinks.groupby('continent')["spirit_servings"].describe()[["mean","min","max"]]
Out[7]:
mean | min | max | |
---|---|---|---|
continent | |||
AF | 16.339623 | 0.0 | 152.0 |
AS | 60.840909 | 0.0 | 326.0 |
EU | 132.555556 | 0.0 | 373.0 |
OC | 58.437500 | 0.0 | 254.0 |
SA | 114.750000 | 25.0 | 302.0 |
In [8]:
#동일식 ---> 정답에 나와있는
drinks.groupby("continent")["spirit_servings"].agg(['mean','min','max'])
Out[8]:
mean | min | max | |
---|---|---|---|
continent | |||
AF | 16.339623 | 0 | 152 |
AS | 60.840909 | 0 | 326 |
EU | 132.555556 | 0 | 373 |
OC | 58.437500 | 0 | 254 |
SA | 114.750000 | 25 | 302 |
🐼깃허브 코드 저장소는 👉: https://github.com/LIMSONA/KDT/blob/main/pandas/Day_3/%EC%97%B0%EC%8A%B505.ipynb
728x90
'😁 빅데이터 문제 풀기 & Study > - 이외 사이트 문제' 카테고리의 다른 글
[Pandas] Pandas 연습 문제 풀기 -7 🐼 (0) | 2022.02.24 |
---|---|
[Pandas] Pandas 연습 문제 풀기 -6 🐼 (0) | 2022.02.23 |
[Pandas] Pandas 연습 문제 풀기 -4 🐼 (0) | 2022.02.22 |
[Pandas] Pandas 연습 문제 풀기 -3 🐼 (0) | 2022.02.22 |
[Pandas] Pandas 연습 문제 풀기 - 2 🐼 (0) | 2022.02.21 |