Aan de slagGa gratis aan de slag

Alles samenbrengen (2)

Wow, je hebt zojuist je Twitter-taalanalyse uit het vorige hoofdstuk gegeneraliseerd door een standaardargument voor de kolomnaam toe te voegen. Je gaat deze functie nu nog een stap verder generaliseren door de gebruiker een flexibel argument te laten doorgeven, in dit geval: zoveel kolomnamen als de gebruiker wil!

Voor je gemak is pandas opnieuw geïmporteerd als pd en is het bestand 'tweets.csv' ingelezen in de DataFrame tweets_df. Delen van de code uit je eerdere werk zijn ook meegeleverd.

Deze oefening maakt deel uit van de cursus

Introductie tot functies in Python

Cursus bekijken

Oefeninstructies

  • Maak de functiedefinitie af door de parameter voor de DataFrame df en het flexibele argument *args toe te voegen.
  • Maak de for-lus binnen de functiedefinitie af zodat er over de tuple args geloopt wordt.
  • Roep count_entries() aan met de DataFrame tweets_df en de kolomnaam 'lang'. Sla het resultaat op in result1.
  • Roep count_entries() aan met de DataFrame tweets_df en de kolomnamen 'lang' en 'source'. Sla het resultaat op in result2.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren