Mettre le tout ensemble (3)
Dans l'exercice précédent, vous avez amélioré votre fonction count_entries() en ajoutant un bloc try-except. Cela permettait d'afficher des messages utiles quand on appelait count_entries() avec un nom de colonne absent du DataFrame. Dans cet exercice, vous allez plutôt lever une ValueError si l'utilisateur fournit un nom de colonne qui n'est pas présent dans le DataFrame.
Encore une fois, pour vous faciliter la tâche, pandas a été importé sous l'alias pd et le fichier 'tweets.csv' a été importé dans le DataFrame tweets_df. Des parties du code de votre travail précédent sont également fournies.
Cette activité fait partie du cours
Introduction aux fonctions en Python
Instructions de l’exercice
- Si
col_namen'est pas une colonne du DataFramedf, levez uneValueError 'The DataFrame does not have a ' + col_name + ' column.'. - Appelez votre nouvelle fonction
count_entries()pour analyser la colonne'lang'detweets_df. Stockez le résultat dansresult1. - Affichez
result1. Cela a déjà été fait pour vous, alors cliquez sur "Soumettre la réponse" pour voir le résultat. Dans le prochain exercice, vous verrez que cela lève lesValueErrornécessaires.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Define count_entries()
def count_entries(df, col_name='lang'):
"""Return a dictionary with counts of
occurrences as value for each key."""
# Raise a ValueError if col_name is NOT in DataFrame
if col_name not in df.columns:
____
# Initialize an empty dictionary: cols_count
cols_count = {}
# 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
# Call count_entries(): result1
____
# Print result1
print(result1)