# Your answer here.판다

토마스 보젠, 2020년 9월
이 연습은 7장을 보완합니다.
연습
1.
이 연습 세트에서 우리는 다양한 식품의 탄소 발자국을 조사할 것입니다. 우리는 Kasia Kulma가 편집하고 R의 Tidy Tuesday 프로젝트에 기여한 데이터 세트를 활용할 것입니다.
pd라는 별칭을 사용하여 팬더를 가져오는 것부터 시작하세요.
2.
우리가 작업할 데이터세트에는 다음과 같은 열이 있습니다.
| 열 | 설명 |
|---|---|
| 국가 | 국가명 |
| 음식_카테고리 | 식품 카테고리 |
| 소비 | 소비량(kg/인/년) |
| co2_emission | CO2 배출량(Kg CO2/인/년) |
다음 URL에서 ’df’라는 데이터프레임으로 데이터세트를 가져옵니다: https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-02-18/food_consumption.csv
# Your answer here.3.
데이터프레임에는 몇 개의 행과 열이 있나요?
# Your answer here.4.
df의 각 열에 있는 데이터 유형은 무엇입니까?
# Your answer here.5.
전체 데이터 세트의 평균 co2_emission은 무엇입니까?
# Your answer here.6.
데이터세트에는 몇 가지 종류의 음식이 있나요? 데이터 세트에는 몇 개의 국가가 포함되어 있나요?
# Your answer here.7.
데이터 세트의 최대 ’co2_emmission’은 무엇이며, 이는 어느 식품 유형 및 국가에 속합니까?
# Your answer here.8.
적어도 하나의 식품 유형에 대해 연간 1인당 1000kg CO2 이상을 생산하는 국가는 몇 군데입니까?
# Your answer here.9.
1인당 연간 쇠고기 소비량이 가장 적은 국가는 어디입니까?
# Your answer here.10.
1인당 연간 대두 소비량이 가장 많은 국가는 어디입니까?
# Your answer here.11.
데이터 세트에 포함된 모든 육류 제품(돼지고기, 가금류, 생선, 양고기 및 염소, 쇠고기)의 총 배출량은 얼마입니까?
# Your answer here.12.
데이터 세트에 있는 다른 모든(육류가 아닌) 제품의 총 배출량은 얼마입니까?
# Your answer here.솔루션
1.
온라인 비밀번호 공격은 누군가가 귀하의 계정에 액세스하기 위해 매우 많은 수의 사용자 이름/비밀번호 조합을 시도하여 귀하의 계정을 해킹하려고 시도하는 것입니다. 데이터세트의 각 ‘비밀번호’에 대해 ’값’ 열에는 ‘온라인 비밀번호 공격’으로 계정을 해킹하는 데 걸리는 예상 시간이 표시됩니다. ’time_unit’ 열에는 해당 시간 값의 단위(예: 시간, 일, 연도 등)가 표시됩니다.
각 비밀번호에 대한 “온라인 비밀번호 추측 시간”을 더 쉽게 비교할 수 있도록 ’값’이 동일한 단위이면 훨씬 더 좋을 것입니다. 따라서 첫 번째 작업은 모든 값을 시간 단위로 변환하는 것입니다(아래에 제공한 변환 단위를 가정합니다. 예를 들어 1일은 24시간, 1주는 168시간 등).
import pandas as pd2.
우리가 작업할 데이터세트에는 다음과 같은 열이 있습니다.
| 열 | 설명 |
|---|---|
| 국가 | 국가명 |
| 음식_카테고리 | 식품 카테고리 |
| 소비 | 소비량(kg/인/년) |
| co2_emission | CO2 배출량(Kg CO2/인/년) |
다음 URL에서 ’df’라는 데이터프레임으로 데이터세트를 가져옵니다: https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-02-18/food_consumption.csv
url = "https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-02-18/food_consumption.csv"
df = pd.read_csv(url)
df| country | food_category | consumption | co2_emmission | |
|---|---|---|---|---|
| 0 | Argentina | Pork | 10.51 | 37.20 |
| 1 | Argentina | Poultry | 38.66 | 41.53 |
| 2 | Argentina | Beef | 55.48 | 1712.00 |
| 3 | Argentina | Lamb & Goat | 1.56 | 54.63 |
| 4 | Argentina | Fish | 4.36 | 6.96 |
| ... | ... | ... | ... | ... |
| 1425 | Bangladesh | Milk - inc. cheese | 21.91 | 31.21 |
| 1426 | Bangladesh | Wheat and Wheat Products | 17.47 | 3.33 |
| 1427 | Bangladesh | Rice | 171.73 | 219.76 |
| 1428 | Bangladesh | Soybeans | 0.61 | 0.27 |
| 1429 | Bangladesh | Nuts inc. Peanut Butter | 0.72 | 1.27 |
1430 rows × 4 columns
3.
데이터프레임에는 몇 개의 행과 열이 있나요?
df.shape(1430, 4)
4.
df의 각 열에 있는 데이터 유형은 무엇입니까?
df.info()<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1430 entries, 0 to 1429
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 country 1430 non-null object
1 food_category 1430 non-null object
2 consumption 1430 non-null float64
3 co2_emmission 1430 non-null float64
dtypes: float64(2), object(2)
memory usage: 44.8+ KB
5.
전체 데이터 세트의 평균 co2_emission은 무엇입니까?
df["co2_emmission"].mean()74.383993006993
6.
데이터세트에는 몇 가지 종류의 음식이 있나요? 데이터 세트에는 몇 개의 국가가 포함되어 있나요?
print(f"There are {df['food_category'].nunique()} foods.")
print(f"There are {df['country'].nunique()} countries.")There are 11 foods.
There are 130 countries.
7.
데이터 세트의 최대 ’co2_emmission’은 무엇이며, 이는 어느 식품 유형 및 국가에 속합니까?
df.iloc[df["co2_emmission"].idxmax()]country Argentina
food_category Beef
consumption 55.48
co2_emmission 1712
Name: 2, dtype: object
8.
적어도 하나의 식품 유형에 대해 연간 1인당 1000kg CO2 이상을 생산하는 국가는 몇 군데입니까?
df.query("co2_emmission > 1000")| country | food_category | consumption | co2_emmission | |
|---|---|---|---|---|
| 2 | Argentina | Beef | 55.48 | 1712.00 |
| 13 | Australia | Beef | 33.86 | 1044.85 |
| 57 | USA | Beef | 36.24 | 1118.29 |
| 90 | Brazil | Beef | 39.25 | 1211.17 |
| 123 | Bermuda | Beef | 33.15 | 1022.94 |
9.
1인당 연간 쇠고기 소비량이 가장 적은 국가는 어디입니까?
(df.query("food_category == 'Beef'").sort_values(by="consumption").head(1))| country | food_category | consumption | co2_emmission | |
|---|---|---|---|---|
| 1410 | Liberia | Beef | 0.78 | 24.07 |
10.
1인당 연간 대두 소비량이 가장 많은 국가는 어디입니까?
(
df.query("food_category == 'Soybeans'")
.sort_values(by="consumption", ascending=False)
.head(1)
)| country | food_category | consumption | co2_emmission | |
|---|---|---|---|---|
| 1010 | Taiwan. ROC | Soybeans | 16.95 | 7.63 |
11.
데이터 세트에 포함된 모든 육류 제품(돼지고기, 가금류, 생선, 양고기 및 염소, 쇠고기)의 총 배출량은 얼마입니까?
meat = ["Poultry", "Pork", "Fish", "Lamb & Goat", "Beef"]
df["co2_emmission"][df["food_category"].isin(meat)].sum()74441.13
12.
데이터 세트에 있는 다른 모든(육류가 아닌) 제품의 총 배출량은 얼마입니까?
meat = ["Poultry", "Pork", "Fish", "Lamb & Goat", "Beef"]
df["co2_emmission"][~df["food_category"].isin(meat)].sum()31927.98