Escritura de un iterador para cargar datos en fragmentos (2)
En el ejercicio anterior, utilizaste read_csv()
para leer fragmentos de DataFrame de un gran conjunto de datos. En este ejercicio, leerás un archivo utilizando un tamaño de fragmento de DataFrame mayor y, a continuación, procesarás los datos del primer fragmento.
Para procesar los datos, crearás otro DataFrame compuesto solo por las filas de un país específico. A continuación, comprimirás dos de las columnas del nuevo DataFrame, 'Total Population'
y 'Urban population (% of total)'
. Por último, crearás una lista de tuplas a partir del objeto zip, en la que cada tupla estará compuesta por un valor de cada una de las dos columnas mencionadas.
Usarás los datos de 'ind_pop_data.csv'
, disponibles en tu directorio actual. pandas
se ha importado como pd
.
Este ejercicio forma parte del curso
Caja de herramientas Python
Instrucciones de ejercicio
- Utiliza
pd.read_csv()
para leer el archivo de'ind_pop_data.csv'
en fragmentos de tamaño1000
. Asigna el resultado a . - Obtén el primer fragmento de DataFrame del iterable
urb_pop_reader
y asígnalo adf_urb_pop
. - Selecciona solo las filas de
df_urb_pop
que tengan como'CountryCode'
'CEB'
. Para ello, comprueba sidf_urb_pop['CountryCode']
es igual a'CEB'
dentro de los corchetes dedf_urb_pop[____]
. - Utilizando
zip()
, comprime las columnas'Total Population'
y'Urban population (% of total)'
dedf_pop_ceb
. Asigna el objeto zip resultante apops
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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)