Aan de slagGa gratis aan de slag

Alles combineren (1)

Denk terug aan de oefening Alles combineren in het vorige hoofdstuk, waar je een eenvoudige Twitter-analyse deed door een functie te schrijven die telt hoeveel tweets er in bepaalde talen zijn. De output van je functie was een dictionary met de taal als keys en het aantal tweets in die taal als de value.

In deze oefening generaliseren we de Twitter-taalanalyse die je in het vorige hoofdstuk hebt gedaan. Dat doe je door een standaardargument toe te voegen dat een kolomnaam aanneemt.

Voor je gemak is pandas al 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 toegevoegd.

Deze oefening maakt deel uit van de cursus

Introductie tot functies in Python

Cursus bekijken

Oefeninstructies

  • Maak de functiedefinitie af door de parameter voor een DataFrame df toe te voegen en de parameter col_name met als standaardwaarde 'lang' voor de DataFrame-kolomnaam.
  • Roep count_entries() aan met de DataFrame tweets_df en de kolomnaam 'lang'. Ken het resultaat toe aan result1. Let op: omdat 'lang' de standaardwaarde is van de parameter col_name, hoef je die hier niet te specificeren.
  • Roep count_entries() aan met de DataFrame tweets_df en de kolomnaam 'source'. Ken het resultaat toe aan result2.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Define count_entries()
def count_entries(____, ____):
    """Return a dictionary with counts of
    occurrences as value for each key."""

    # 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
result1 = ____

# Call count_entries(): result2
result2 = ____

# Print result1 and result2
print(result1)
print(result2)
Code bewerken en uitvoeren