CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Définissez la fonction count_entries() avec 3 paramètres. Le premier paramètre est csv_file pour le nom de fichier, le second est c_size pour la taille des blocs et le dernier est colname pour le nom de la colonne.
  • Parcourez le fichier indiqué par csv_file à l’aide d’une boucle for. Utilisez la variable de boucle chunk et itérez sur l’appel à pd.read_csv() en passant c_size à chunksize.
  • Dans la boucle interne, itérez sur la colonne indiquée par colname dans chunk à l’aide d’une boucle for. Utilisez la variable de boucle entry.
  • Appelez la fonction count_entries() en lui passant le nom de fichier 'tweets.csv', la taille des blocs 10 et le nom de la colonne à compter, 'lang'. Attribuez le résultat de l’appel à la variable result_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)
Modifier et exécuter le code