Skriva en iterator för att läsa in data i delar (2)
I föregående övning använde du read_csv() för att läsa in DataFrame-delar från en stor datamängd. I den här övningen läser du in en fil med en större DataFrame-delstorlek och bearbetar sedan data från den första delen.
För att bearbeta data skapar du en ny DataFrame som bara innehåller rader från ett specifikt land. Sedan kombinerar du två av kolumnerna från den nya DataFrame:n, 'Total Population' och 'Urban population (% of total)', med zip(). Till sist skapar du en lista med tupler från zip-objektet, där varje tupel består av ett värde från var och en av de två kolumnerna.
Du kommer att använda data från 'ind_pop_data.csv', som finns i din aktuella katalog. pandas har importerats som pd.
Den här övningen är en del av kursen
Python Toolbox
Övningsinstruktioner
- Använd
pd.read_csv()för att läsa in filen'ind_pop_data.csv'i delar om storleken1000. Tilldela resultatet tillurb_pop_reader. - Hämta den första DataFrame-delen från det iterbara objektet
urb_pop_readeroch tilldela den tilldf_urb_pop. - Välj bara de rader i
df_urb_popdär'CountryCode'är'CEB'. Jämför omdf_urb_pop['CountryCode']är lika med'CEB'inom hakparenteserna idf_urb_pop[____]. - Använd
zip()för att kombinera kolumnerna'Total Population'och'Urban population (% of total)'fråndf_pop_ceb. Tilldela det resulterande zip-objektet tillpops.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)