Scrierea unui iterator pentru încărcarea datelor în fragmente (2)
În exercițiul anterior, ai folosit read_csv() pentru a citi fragmente de DataFrame dintr-un set de date de mari dimensiuni. În acest exercițiu, vei citi un fișier folosind un fragment de DataFrame mai mare, apoi vei procesa datele din primul fragment.
Pentru a procesa datele, vei crea un alt DataFrame alcătuit doar din rândurile corespunzătoare unei anumite țări. Vei uni apoi două coloane din noul DataFrame: 'Total Population' și 'Urban population (% of total)'. În final, vei crea o listă de tupluri din obiectul zip, unde fiecare tuplu conține câte o valoare din fiecare dintre cele două coloane menționate.
Vei folosi datele din 'ind_pop_data.csv', disponibil în directorul curent. pandas a fost importat ca pd.
Acest exercițiu face parte din cursul
Cutia cu instrumente Python
Instrucțiuni pentru exercițiu
- Folosește
pd.read_csv()pentru a citi fișierul'ind_pop_data.csv'în fragmente de dimensiune1000. Atribuie rezultatul variabileiurb_pop_reader. - Obține primul fragment de DataFrame din iterabilul
urb_pop_readerși atribuie-l variabileidf_urb_pop. - Selectează doar rândurile din
df_urb_popcare au'CountryCode'egal cu'CEB'. Pentru aceasta, verifică dacădf_urb_pop['CountryCode']este egal cu'CEB'în interiorul parantezelor pătrate dindf_urb_pop[____]. - Folosind
zip(), unește coloanele'Total Population'și'Urban population (% of total)'dindf_pop_ceb. Atribuie obiectul zip rezultat variabileipops.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)