IniziaInizia gratis

Scrivere un iteratore per caricare i dati in blocchi (2)

Nell'esercizio precedente, hai usato read_csv() per leggere blocchi di DataFrame da un grande set di dati. In questo esercizio, leggerai un file usando un blocco di DataFrame più grande e poi elaborerai i dati del primo blocco.

Per elaborare i dati, creerai un altro DataFrame con solo le righe di un paese specifico. Quindi unirai due colonne del nuovo DataFrame, 'Total Population' e 'Urban population (% of total)'. Infine, creerai un elenco di tuple dall'oggetto zip, dove ogni tupla è fatta da un valore di ciascuna delle due colonne menzionate.

Userai i dati da 'ind_pop_data.csv', che trovi nella tua directory attuale. pandas è stato importato come pd.

Questo esercizio fa parte del corso

Strumenti per Python

Visualizza il corso

Istruzioni dell'esercizio

  • Usa pd.read_csv() per leggere il file in 'ind_pop_data.csv' in blocchi di dimensioni 1000. Assegna il risultato a urb_pop_reader.
  • Prendi il primo blocco DataFrame dall'iterabile urb_pop_reader e mettilo in df_urb_pop.
  • Seleziona solo le righe di df_urb_pop che hanno un 'CountryCode' di 'CEB'. Per farlo, controlla se df_urb_pop['CountryCode'] è uguale a 'CEB' tra le parentesi quadre in df_urb_pop[____].
  • Usa zip() per unire le colonne 'Total Population' e 'Urban population (% of total)' di df_pop_ceb. Assegna l'oggetto zip che hai ottenuto a pops.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Initialize reader object: urb_pop_reader
urb_pop_reader = pd.read_csv(____, ____)

# Get the first DataFrame chunk: df_urb_pop
df_urb_pop = next(____)

# Check out the head of the DataFrame
print(df_urb_pop.head())

# Check out specific country: df_pop_ceb
df_pop_ceb = df_urb_pop[____]

# Zip DataFrame columns of interest: pops
pops = zip(____, ____)

# Turn zip object into list: pops_list
pops_list = list(pops)

# Print pops_list
print(pops_list)
Modifica ed esegui il codice