Alles combineren (3)
In de vorige oefening heb je je functie count_entries() uitgebreid met een try-except-blok. Zo kregen gebruikers een duidelijke melding wanneer ze count_entries() aanriepen met een kolomnaam die niet in de DataFrame staat. In deze oefening werp je in plaats daarvan een ValueError op als de gebruiker een kolomnaam opgeeft die niet in de DataFrame voorkomt.
Voor je gemak is pandas weer geïmporteerd als pd en is het bestand 'tweets.csv' ingelezen in de DataFrame tweets_df. Delen van de code uit je vorige werk zijn ook meegegeven.
Deze oefening maakt deel uit van de cursus
Introductie tot functies in Python
Oefeninstructies
- Als
col_namegeen kolom is in de DataFramedf, werp dan eenValueError 'The DataFrame does not have a ' + col_name + ' column.'op. - Roep je nieuwe functie
count_entries()aan om de'lang'-kolom vantweets_dfte analyseren. Sla het resultaat op inresult1. - Print
result1. Dit is al voor je gedaan, dus klik op 'Antwoord verzenden' om het resultaat te bekijken. In de volgende oefening zie je dat de vereisteValueError-fouten worden opgewekt.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)