ComenzarEmpieza gratis

Escritura de un iterador para cargar datos en fragmentos (4)

En los ejercicios anteriores, solo has procesado los datos del primer fragmento del DataFrame. Esta vez, agregarás los resultados sobre todos los fragmentos de DataFrame del conjunto de datos. Esto significa básicamente que ahora procesarás todo el conjunto de datos. Esto está muy bien, porque podrás procesar todo el gran conjunto de datos trabajando solo con fragmentos más pequeños de él.

Usarás los datos de 'ind_pop_data.csv', disponible en tu directorio actual. Los paquetes pandas y matplotlib.pyplot se han importado como pd y plt, respectivamente, para que los uses.

Este ejercicio forma parte del curso

Caja de herramientas Python

Ver curso

Instrucciones del ejercicio

  • Inicializa el DataFrame vacío data utilizando pd.DataFrame().
  • En el bucle for, itera sobre urb_pop_reader para poder procesar todos los fragmentos de DataFrame del conjunto de datos.
  • Concatena data y df_pop_ceb pasando una lista de los DataFrames a pd.concat().

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Initialize reader object: urb_pop_reader
urb_pop_reader = pd.read_csv('ind_pop_data.csv', chunksize=1000)

# Initialize empty DataFrame: data
data = ____

# Iterate over each DataFrame chunk
for df_urb_pop in ____:

    # Check out specific country: df_pop_ceb
    df_pop_ceb = df_urb_pop[df_urb_pop['CountryCode'] == 'CEB']

    # Zip DataFrame columns of interest: pops
    pops = zip(df_pop_ceb['Total Population'],
                df_pop_ceb['Urban population (% of total)'])

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

    # Use list comprehension to create new DataFrame column 'Total Urban Population'
    df_pop_ceb['Total Urban Population'] = [int(tup[0] * tup[1] * 0.01) for tup in pops_list]
    
    # Concatenate DataFrame chunk to the end of data: data
    data = ____

# Plot urban population data
data.plot(kind='scatter', x='Year', y='Total Urban Population')
plt.show()
Editar y ejecutar código