Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Als col_name geen kolom is in de DataFrame df, werp dan een ValueError 'The DataFrame does not have a ' + col_name + ' column.' op.
  • Roep je nieuwe functie count_entries() aan om de 'lang'-kolom van tweets_df te analyseren. Sla het resultaat op in result1.
  • 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 vereiste ValueError-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)
Code bewerken en uitvoeren