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
- Zainstaluj bibliotekę
pycountry_convert
i zaimportuj ją. - 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 zmiennejresponse
która zwróci Ci słownik, w którym będzie kluczfile
. Zapisz wartośćfile
do zmiennejurl
. - Zaimportuj
Image
idisplay
z bibliotekifrom IPython.core.display
. - Stwórz obiekt Image podając w konstruktorze zmienną
url
,a wynik zapisz doimage
. - Wykonaj funkcję
display
na obiekcieimage
.