Začněte nyníZačněte zdarma

Psaní iterátoru pro načítání dat po částech (3)

Načítání a zpracování dat po částech ti jde stále lépe. Pojďme tvoje dovednosti posunout o krok dál — tentokrát přidáme do DataFrame nový sloupec.

Navážeš na kód z předchozího cvičení a pomocí list comprehension vytvoříš hodnoty pro nový sloupec 'Total Urban Population' ze seznamu n-tic, který jsi sestavil/a dříve. Z předchozího cvičení víš, že první a druhý prvek každé n-tice odpovídají hodnotám ze sloupců 'Total Population' a 'Urban population (% of total)'. Hodnoty v novém sloupci 'Total Urban Population' jsou tedy součinem prvního a druhého prvku každé n-tice. Protože druhý prvek vyjadřuje procenta, je potřeba celý výsledek vydělit 100, nebo ho vynásobit hodnotou 0.01.

Data z tohoto nového sloupce pak vykreslíš do grafu, který znázorní vývoj městského obyvatelstva.

Balíčky pandas a matplotlib.pyplot jsou již naimportované jako pd a plt.

Toto cvičení je součástí kurzu

Python Toolbox

Zobrazit kurz

Pokyny k cvičení

  • Napiš list comprehension, které ze seznamu pops_list vygeneruje hodnoty pro nový sloupec 'Total Urban Population'. Výstupní výraz má být součinem prvního a druhého prvku každé n-tice v pops_list. Protože druhý prvek vyjadřuje procenta, výsledek ještě vynásob hodnotou 0.01 nebo ho vyděl 100. Dále nezapomeň, že sloupec 'Total Urban Population' má obsahovat pouze celá čísla — zajisti to přetypováním výstupního výrazu na celé číslo pomocí int().
  • Vytvoř bodový graf, kde osa x zobrazuje hodnoty ze sloupce 'Year' a osa y hodnoty ze sloupce 'Total Urban Population'.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Code from previous exercise
urb_pop_reader = pd.read_csv('ind_pop_data.csv', chunksize=1000)
df_urb_pop = next(urb_pop_reader)
df_pop_ceb = df_urb_pop[df_urb_pop['CountryCode'] == 'CEB']
pops = zip(df_pop_ceb['Total Population'], 
           df_pop_ceb['Urban population (% of total)'])
pops_list = list(pops)

# Use list comprehension to create new DataFrame column 'Total Urban Population'
df_pop_ceb['Total Urban Population'] = [____]

# Plot urban population data
df_pop_ceb.plot(kind=____, x=____, y=____)
plt.show()
Upravit a spustit kód