Python2019/homework02/homework.ipynb
2019-02-14 14:02:36 +01:00

22 KiB

Python: Drugie zadanie domowe

Drugie zadanie domowe będzie polegać na opracowaniu danych zawartych w pliku gapminder.csv, który znajduje się w tym katalogu (proszę wykorzystać ten plik, a nie ten w katalogu labs04). Ten arkusz poprowadzi Cię krok po kroku po zadaniu domowym.

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

zad. 1 Wczytaj dane do zmiennej data, w taki sposób, żeby nazwa Państwa była kluczem.

data = pd.read_csv("gapminder.csv", index_col=0)

zad. 2 Znajdź najbardziej i najmniej zaludnione państwa na świecie.

zad. 3 W ilu państwach współczynnik female_BMI jest większy od male_BMI.

zad. 4

  1. Zainstaluj bibliotekę pycountry_convert i zaimportuj ją.
  2. Dodaj do danych kolumnę continent, która będzie zawierać nazwę kontynentu, na którym jest położone dane państwo. Wykorzystaj bibliotekę pycountry_convert. _Uwaga: trzeba najpierw uzystać kod państwa w fomacie ISO-2, następnie uzystkać kod kontynentu, a na końcu uzyskać nazwę kontynentu.
conts = []
for name in data.index:
    country_code = pycountry_convert.convert_countries.country_name_to_country_alpha2(name)
    cont_code = pycountry_convert.convert_country_alpha2_to_continent_code.country_alpha2_to_continent_code(country_code)
    cont = pycountry_convert.convert_continent_code_to_continent_name(cont_code)
    conts.append(cont)
    
data['continent'] = conts
data['continent']
Afghanistan                        Asia
Albania                          Europe
Algeria                          Africa
Angola                           Africa
Antigua and Barbuda       North America
Argentina                 South America
Armenia                            Asia
Australia                       Oceania
Austria                          Europe
Azerbaijan                         Asia
Bahamas                   North America
Bahrain                            Asia
Bangladesh                         Asia
Barbados                  North America
Belarus                          Europe
Belgium                          Europe
Belize                    North America
Benin                            Africa
Bhutan                             Asia
Bolivia                   South America
Bosnia and Herzegovina           Europe
Botswana                         Africa
Brazil                    South America
Brunei                             Asia
Bulgaria                         Europe
Burkina Faso                     Africa
Burundi                          Africa
Cambodia                           Asia
Cameroon                         Africa
Canada                    North America
                              ...      
Spain                            Europe
Sri Lanka                          Asia
Sudan                            Africa
Suriname                  South America
Swaziland                        Africa
Sweden                           Europe
Switzerland                      Europe
Syria                              Asia
Tajikistan                         Asia
Tanzania                         Africa
Thailand                           Asia
Togo                             Africa
Tonga                           Oceania
Trinidad and Tobago       North America
Tunisia                          Africa
Turkey                             Asia
Turkmenistan                       Asia
Uganda                           Africa
Ukraine                          Europe
United Arab Emirates               Asia
United Kingdom                   Europe
United States             North America
Uruguay                   South America
Uzbekistan                         Asia
Vanuatu                         Oceania
Venezuela                 South America
Vietnam                            Asia
Palestine                          Asia
Zambia                           Africa
Zimbabwe                         Africa
Name: continent, Length: 175, dtype: object

zad. 5 Oblicz ile osób mieszka na każdym z kontynentów.

data.groupby('continent').sum()
female_BMI male_BMI gdp population under5mortality life_expectancy fertility
continent
Africa 1259.33213 1181.44512 280335.0 9.772803e+08 4763.00 3136.10 246.50
Asia 1114.28765 1084.74598 1038232.0 3.949400e+09 1302.98 3201.41 108.48
Europe 980.30978 1009.60877 1173410.0 7.219954e+08 273.60 2929.30 59.56
North America 526.06040 497.74034 338430.0 5.235798e+08 392.38 1412.20 45.00
Oceania 297.20093 279.58957 102803.0 3.425711e+07 310.00 683.20 34.02
South America 322.37322 308.59791 139888.0 3.881582e+08 288.70 886.80 30.10

zad. 6 Narysyj wykres słupkowy pokazujący ile państw leży na każdym z kontynentów.

data.continent.value_counts().plot('bar')
<matplotlib.axes._subplots.AxesSubplot at 0x7f7cceba78d0>

zad. 7

  • Kolumna gdp zawiera informacje o PKB na obywatela. Stwórz nową kolumnę gdp_total, która będzie informować o PKB danego kraju.
  • Oblicz ile wynosi suma światowego PKB (kolumna gdp_total).
  • Oblicz ile krajów jest odpowiedzialnych za wytworzenie 80% światego PKB.

zad. 8 Wyświetl wszystkie europejskie państwa, w których oczekiwana długość życia wynosi conajmniej 80 lat.

zad. 9 Znajdź państwo, które ma najbardziej zbliżone PKB do Polski. Spróbuj rozwiązać to zadanie w jednej linijce.

zad. 10 (ostatnie)

  • Zobacz czy masz zainstalowaną bibliotekę requests, która sluży do wykonywania zapytań HTTP. Jeżeli nie, to zainstaluj ją.
  • Uruchom z funkcję requests.get podając jako argument link: https://aws.random.cat/meow. Wynik zapisz do zmiennej response.
  • Wykonaj metodę json() na zmiennej response która zwróci Ci słownik, w którym będzie klucz file. Zapisz wartość file do zmiennej url.
  • Zaimportuj Image i display z biblioteki from IPython.core.display.
  • Stwórz obiekt Image podając w konstruktorze zmienną url,a wynik zapisz do image.
  • Wykonaj funkcję display na obiekcie image.