CommencerCommencer gratuitement

On mélange tout (2)

On fait parfois des erreurs en appelant des fonctions, même celles que vous avez créées vous-même. Mais ne vous inquiétez pas ! Dans cet exercice, vous allez améliorer votre travail précédent avec la fonction count_entries() dans le dernier chapitre en y ajoutant un bloc try-except. Cela permettra à votre fonction de fournir un message utile lorsque l’utilisateur appelle votre fonction count_entries() mais fournit un nom de colonne qui n’est pas dans le DataFrame.

Une fois encore, pour vous aider, pandas a été importé en tant que pd et le fichier 'tweets.csv' a été importé dans le DataFrame tweets_df. Des morceaux de code de votre travail précédent sont également fournis.

Cet exercice fait partie du cours

Introduction aux fonctions en Python

Afficher le cours

Instructions

  • Ajoutez un bloc try de sorte que lorsque la fonction est appelée avec les bons arguments, elle traite le DataFrame et renvoie un dictionnaire de résultats.
  • Ajoutez un bloc except pour que, lorsque la fonction est appelée de manière incorrecte, le message d’erreur suivant s’affiche : 'The DataFrame does not have a ' + col_name + ' column.'.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Define count_entries()
def count_entries(df, col_name='lang'):
    """Return a dictionary with counts of
    occurrences as value for each key."""

    # Initialize an empty dictionary: cols_count
    cols_count = {}

    # Add try block
    ____:
        # Extract column from DataFrame: col
        col = df[col_name]
        
        # Iterate over the column in DataFrame
        for entry in col:
    
            # If entry is in cols_count, add 1
            if entry in cols_count.keys():
                cols_count[entry] += 1
            # Else add the entry to cols_count, set the value to 1
            else:
                cols_count[entry] = 1
    
        # Return the cols_count dictionary
        return cols_count

    # Add except block
    ____:
        ____

# Call count_entries(): result1
result1 = count_entries(tweets_df, 'lang')

# Print result1
print(result1)
Modifier et exécuter le code