Mise en pratique (2)
Wow ! Vous venez de généraliser votre analyse des langues sur Twitter réalisée au chapitre précédent en ajoutant un argument par défaut pour le nom de colonne. Vous allez maintenant généraliser cette fonction d'un cran supplémentaire en permettant à l'utilisateur de lui transmettre un argument flexible, c'est‑à‑dire, dans ce cas, autant de noms de colonnes qu'il le souhaite !
Encore une fois, pour vous faciliter la vie, pandas a été importé sous le nom 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
- Complétez l'en-tête de la fonction en fournissant le paramètre pour le DataFrame
dfet l'argument flexible*args. - Complétez la boucle
fordans la définition de la fonction afin qu'elle itère sur le tupleargs. - Appelez
count_entries()en passant le DataFrametweets_dfet le nom de colonne'lang'. Assignez le résultat àresult1. - Appelez
count_entries()en passant le DataFrametweets_dfet les noms de colonnes'lang'et'source'. Assignez le résultat àresult2.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Define count_entries()
def ____(____, ____):
"""Return a dictionary with counts of
occurrences as value for each key."""
#Initialize an empty dictionary: cols_count
cols_count = {}
# Iterate over column names in args
for col_name in ____:
# 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
result1 = count_entries(____, ____)
# Call count_entries(): result2
result2 = count_entries(____, ____, ____)
# Print result1 and result2
print(result1)
print(result2)