Allt hänger ihop (3)
I förra övningen byggde du vidare på funktionen count_entries() genom att lägga till ett try-except-block. Syftet var att ge användarna ett tydligt felmeddelande om de anropade count_entries() med ett kolumnnamn som inte finns i DataFrame:n. I den här övningen ska du i stället utlösa ett ValueError när användaren anger ett sådant kolumnnamn.
Precis som tidigare har pandas importerats som pd och filen 'tweets.csv' har lästs in i DataFrame:n tweets_df. Delar av koden från ditt tidigare arbete finns också med.
Den här övningen är en del av kursen
Introduktion till funktioner i Python
Övningsinstruktioner
- Om
col_nameinte är en kolumn i DataFrame:ndf, utlös ettValueError 'The DataFrame does not have a ' + col_name + ' column.'. - Anropa din nya funktion
count_entries()för att analysera kolumnen'lang'itweets_df. Lagra resultatet iresult1. - Skriv ut
result1. Det är redan gjort åt dig, så klicka på 'Skicka in svar' för att se resultatet. I nästa övning kommer du att se hur funktionen utlöser de nödvändigaValueError-felen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)