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
Oefeninstructies
- Maak de functiedefinitie af door de parameter voor een DataFrame
dftoe te voegen en de parametercol_namemet als standaardwaarde'lang'voor de DataFrame-kolomnaam. - Roep
count_entries()aan met de DataFrametweets_dfen de kolomnaam'lang'. Ken het resultaat toe aanresult1. Let op: omdat'lang'de standaardwaarde is van de parametercol_name, hoef je die hier niet te specificeren. - Roep
count_entries()aan met de DataFrametweets_dfen de kolomnaam'source'. Ken het resultaat toe aanresult2.
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)