CommencezCommencez gratuitement

Écrire un itérateur pour charger des données par blocs (2)

Dans l'exercice précédent, vous avez utilisé read_csv() pour lire des blocs (chunks) de DataFrame à partir d'un grand jeu de données. Dans cet exercice, vous allez lire un fichier en utilisant une taille de bloc de DataFrame plus grande, puis traiter les données du premier bloc.

Pour traiter les données, vous allez créer un autre DataFrame ne contenant que les lignes d'un pays précis. Vous allez ensuite combiner, avec zip, deux colonnes de ce nouveau DataFrame : 'Total Population' et 'Urban population (% of total)'. Enfin, vous créerez une liste de tuples à partir de l'objet zip, où chaque tuple est composé d'une valeur provenant de chacune des deux colonnes mentionnées.

Vous utiliserez les données de 'ind_pop_data.csv', disponibles dans votre répertoire courant. pandas a été importé sous le nom pd.

Cette activité fait partie du cours

Boîte à outils Python

Voir le cours

Instructions de l’exercice

  • Utilisez pd.read_csv() pour lire le fichier 'ind_pop_data.csv' par blocs de taille 1000. Assignez le résultat à urb_pop_reader.
  • Récupérez le premier bloc (chunk) de DataFrame à partir de l'itérable urb_pop_reader et assignez-le à df_urb_pop.
  • Sélectionnez uniquement les lignes de df_urb_pop dont la valeur de 'CountryCode' est 'CEB'. Pour ce faire, comparez si df_urb_pop['CountryCode'] est égal à 'CEB' entre les crochets dans df_urb_pop[____].
  • En utilisant zip(), combinez les colonnes 'Total Population' et 'Urban population (% of total)' de df_pop_ceb. Assignez l'objet zip obtenu à pops.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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)
Modifier et exécuter le code