ComenzarEmpieza gratis

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

Te estás acostumbrando a leer y procesar datos en fragmentos. Llevemos tus competencias un poco más lejos añadiendo una columna a un DataFrame.

Partiendo del código del ejercicio anterior, utilizarás una comprensión de listas para crear los valores de la nueva columna 'Total Urban Population' a partir de la lista de tuplas que has generado. Recuerda del ejercicio anterior que el primer y segundo elemento de cada tupla están formados, respectivamente, por valores de las columnas 'Total Population' y 'Urban population (% of total)'. Los valores de la nueva columna 'Total Urban Population', por lo tanto, son el producto del primer y segundo elemento de cada tupla. Además, como el segundo elemento es un porcentaje, debes dividir todo el resultado entre 100 o multiplicarlo por 0.01.

También representarás gráficamente los datos de esta nueva columna para crear una visualización de los datos de población urbana.

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 de ejercicio

  • Escribe una comprensión de listas para generar una lista de valores a partir de pops_list para la nueva columna 'Total Urban Population'. La expresión de salida debe ser el producto del primer y segundo elemento de cada tupla de pops_list. Como el segundo elemento es un porcentaje, también tienes que multiplicar el resultado por 0.01 o dividirlo entre 100. Además, ten en cuenta que la columna 'Total Urban Population' solo debe poder tomar valores enteros. Para asegurarte de que sea así, convierte la expresión de salida en un número entero con int().
  • Crea un diagrama de dispersión en el que el eje X sean valores de la columna 'Year' y el eje Y sean valores de la columna 'Total Urban Population'.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Code from previous exercise
urb_pop_reader = pd.read_csv('ind_pop_data.csv', chunksize=1000)
df_urb_pop = next(urb_pop_reader)
df_pop_ceb = df_urb_pop[df_urb_pop['CountryCode'] == 'CEB']
pops = zip(df_pop_ceb['Total Population'], 
           df_pop_ceb['Urban population (% of total)'])
pops_list = list(pops)

# Use list comprehension to create new DataFrame column 'Total Urban Population'
df_pop_ceb['Total Urban Population'] = [____]

# Plot urban population data
df_pop_ceb.plot(kind=____, x=____, y=____)
plt.show()
Editar y ejecutar código