Extraire des informations à partir d’un grand volume de données Twitter
Excellent travail pour avoir découpé ce fichier dans l’exercice précédent. Vous savez maintenant gérer les situations où vous devez traiter un fichier très volumineux, et c’est une compétence très utile !
C’est une bonne pratique de traiter un fichier en blocs plus petits et plus faciles à manipuler, mais cela peut devenir fastidieux d’écrire et réécrire le même code pour la même tâche à chaque fois. Dans cet exercice, vous allez rendre votre code plus réutilisable en plaçant votre travail du dernier exercice dans une définition de fonction.
Le package pandas a été importé sous le nom pd et le fichier 'tweets.csv' se trouve dans votre répertoire courant pour votre usage.
Cet exercice fait partie du cours
Boîte à outils Python
Instructions
- Définissez la fonction
count_entries()avec 3 paramètres. Le premier paramètre estcsv_filepour le nom de fichier, le second estc_sizepour la taille des blocs et le dernier estcolnamepour le nom de la colonne. - Parcourez le fichier indiqué par
csv_fileà l’aide d’une bouclefor. Utilisez la variable de bouclechunket itérez sur l’appel àpd.read_csv()en passantc_sizeàchunksize. - Dans la boucle interne, itérez sur la colonne indiquée par
colnamedanschunkà l’aide d’une bouclefor. Utilisez la variable de boucleentry. - Appelez la fonction
count_entries()en lui passant le nom de fichier'tweets.csv', la taille des blocs10et le nom de la colonne à compter,'lang'. Attribuez le résultat de l’appel à la variableresult_counts.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Define count_entries()
def ____():
"""Return a dictionary with counts of
occurrences as value for each key."""
# Initialize an empty dictionary: counts_dict
counts_dict = {}
# Iterate over the file chunk by chunk
for ____ in ____:
# Iterate over the column in DataFrame
for ____ in ____:
if entry in counts_dict.keys():
counts_dict[entry] += 1
else:
counts_dict[entry] = 1
# Return counts_dict
return counts_dict
# Call count_entries(): result_counts
result_counts = ____
# Print result_counts
print(result_counts)