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
Istruzioni dell'esercizio
- Usa
pd.read_csv()per leggere il file in'ind_pop_data.csv'in blocchi di dimensioni1000. Assegna il risultato aurb_pop_reader. - Prendi il primo blocco DataFrame dall'iterabile
urb_pop_readere mettilo indf_urb_pop. - Seleziona solo le righe di
df_urb_popche hanno un'CountryCode'di'CEB'. Per farlo, controlla sedf_urb_pop['CountryCode']è uguale a'CEB'tra le parentesi quadre indf_urb_pop[____]. - Usa
zip()per unire le colonne'Total Population'e'Urban population (% of total)'didf_pop_ceb. Assegna l'oggetto zip che hai ottenuto apops.
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)