Praktische Anwendung (2)
Toll gemacht! Du hast jetzt die Funktionalität definiert, um über Einträge in einer Spalte zu iterieren und ein Dictionary zu erstellen, dessen Schlüssel die Namen der Sprachen und die Werte die Anzahl der Tweets in der jeweiligen Sprache sind.
In dieser Übung definierst du eine Funktion mit der Funktionalität, die du in der vorherigen Übung entwickelt hast, gibst das resultierende Dictionary aus der Funktion zurück und rufst die Funktion mit den entsprechenden Argumenten auf.
Der Einfachheit halber wurde das Pandas-Paket als pd
importiert und die Datei 'tweets.csv'
wurde in die Variable tweets_df
importiert.
Diese Übung ist Teil des Kurses
Einführung in Funktionen in Python
Anleitung zur Übung
- Definiere die Funktion
count_entries()
, die zwei Parameter hat. Der erste Parameter istdf
für den DataFrame und der zweite istcol_name
für den Spaltennamen. - Vervollständige die Rümpfe der
if-else
-Anweisungen in derfor
Schleife: Wenn der Schlüssel im Dictionarylangs_count
steht, füge1
zu seinem aktuellen Wert hinzu, sonst füge den Schlüssel zulangs_count
hinzu und setze seinen Wert auf1
. Verwende die Schleifenvariableentry
in deinem Code. - Gib das
langs_count
-Dictionary aus der Funktioncount_entries()
zurück. - Rufe die Funktion
count_entries()
auf, indem du ihrtweets_df
und den Namen der Spalte,'lang'
, übergibst. Weise das Ergebnis des Aufrufs der Variablenresult
zu.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Define count_entries()
def ____(____, ____):
"""Return a dictionary with counts of
occurrences as value for each key."""
# Initialize an empty dictionary: langs_count
langs_count = {}
# Extract column from DataFrame: col
col = df[col_name]
# Iterate over lang column in DataFrame
for entry in col:
# If the language is in langs_count, add 1
if entry in langs_count.keys():
____
# Else add the language to langs_count, set the value to 1
else:
____
# Return the langs_count dictionary
# Call count_entries(): result
# Print the result
print(result)