ÎncepețiÎncepe gratuit

Scrierea unui iterator pentru încărcarea datelor în blocuri (3)

Până acum te-ai obișnuit să citești și să procesezi date în blocuri. Hai să mergem un pas mai departe, adăugând o coloană nouă într-un DataFrame.

Pornind de la codul exercițiului anterior, vei folosi un list comprehension pentru a crea valorile unei noi coloane, 'Total Urban Population', din lista de tuple generată anterior. Reamintește-ți că primul și al doilea element al fiecărui tuplu conțin, respectiv, valori din coloanele 'Total Population' și 'Urban population (% of total)'. Valorile din noua coloană 'Total Urban Population' sunt, prin urmare, produsul primului și celui de-al doilea element din fiecare tuplu. În plus, deoarece al doilea element reprezintă un procent, trebuie să împarți întregul rezultat la 100 sau, alternativ, să îl înmulțești cu 0.01.

Vei reprezenta și grafic datele din această nouă coloană, pentru a vizualiza distribuția populației urbane.

Pachetele pandas și matplotlib.pyplot au fost importate ca pd și, respectiv, plt.

Acest exercițiu face parte din cursul

Cutia cu instrumente Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Scrie un list comprehension pentru a genera o listă de valori din pops_list, destinată noii coloane 'Total Urban Population'. Expresia de ieșire trebuie să fie produsul primului și celui de-al doilea element din fiecare tuplu din pops_list. Deoarece al doilea element este un procent, trebuie fie să înmulțești rezultatul cu 0.01, fie să îl împarți la 100. De asemenea, reține că valorile din coloana 'Total Urban Population' trebuie să fie numere întregi. Pentru a te asigura de acest lucru, convertește expresia de ieșire la tip întreg folosind int().
  • Creează un grafic de tip scatter în care axa x conține valorile din coloana 'Year', iar axa y conține valorile din coloana 'Total Urban Population'.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul