Mettere insieme tutto (2)
A volte si commettono degli errori quando si chiamano le funzioni, anche quelle che hai fatto tu stesso. Ma non preoccuparti! In questo esercizio migliorerai il lavoro svolto in precedenza con la funzione count_entries() nell'ultimo capitolo, aggiungendo un blocco try-except ad essa. Questo permetterà alla tua funzione di fornire un messaggio utile quando l'utente chiama la funzione count_entries() ma fornisce un nome di colonna che non è presente nel DataFrame.
Ancora una volta, per comodità, pandas è stato importato come pd e il file 'tweets.csv' è stato importato nel DataFrame tweets_df. Vengono fornite anche parti del codice del tuo lavoro precedente.
Questo esercizio fa parte del corso
Introduzione alle funzioni in Python
Istruzioni dell'esercizio
- Aggiungi un blocco
tryin modo che quando la funzione viene chiamata con gli argomenti corretti, elabori il DataFrame e restituisca un dizionario di risultati. - Aggiungi un blocco
exceptin modo che quando la funzione viene chiamata in modo errato, venga visualizzato il seguente messaggio di errore:'The DataFrame does not have a ' + col_name + ' column.'.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)