On mélange tout (3)
Dans l’exercice précédent, vous avez utilisé votre fonction count_entries()
pour ajouter un bloc try-except
. L’objectif était que les utilisateurs obtiennent des messages utiles lorsqu’ils appellent votre fonction count_entries()
en fournissant un nom de colonne qui ne se trouve pas dans le DataFrame. Dans cet exercice, vous lèverez plutôt une ValueError
dans le cas où l’utilisateur fournit un nom de colonne qui ne se trouve 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
Instructions
- Si
col_name
n’ est pas une colonne du DataFramedf
, levez une erreurValueError 'The DataFrame does not have a ' + col_name + ' column.'
. - Appelez votre nouvelle fonction
count_entries()
pour analyser la colonne'lang'
detweets_df
. Enregistrez le résultat dansresult1
. - Affichez
result1
. Cela a été fait pour vous, alors cliquez sur « Soumettre la réponse » pour vérifier le résultat. Dans l’exercice suivant, vous verrez qu’elle lève les erreursValueErrors
nécessaires.
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."""
# 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)