Allt hänger ihop (2)
Nu har du generaliserat din Twitter-språkanalys från föregående kapitel så att den använder ett standardargument för kolumnnamnet. Nu tar vi det ett steg längre och låter användaren skicka in ett flexibelt argument – i det här fallet hur många kolumnnamn som helst!
Precis som tidigare har pandas importerats som pd och filen 'tweets.csv' har laddats 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
- Slutför funktionshuvudet genom att lägga till parametern för DataFrame:n
dfoch det flexibla argumentet*args. - Slutför
for-loopen i funktionsdefinitionen så att loopen itererar över tupelnargs. - Anropa
count_entries()med DataFrame:ntweets_dfoch kolumnnamnet'lang'. Tilldela resultatet tillresult1. - Anropa
count_entries()med DataFrame:ntweets_dfoch kolumnnamnen'lang'och'source'. Tilldela resultatet tillresult2.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)