Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Slutför funktionshuvudet genom att lägga till parametern för DataFrame:n df och det flexibla argumentet *args.
  • Slutför for-loopen i funktionsdefinitionen så att loopen itererar över tupeln args.
  • Anropa count_entries() med DataFrame:n tweets_df och kolumnnamnet 'lang'. Tilldela resultatet till result1.
  • Anropa count_entries() med DataFrame:n tweets_df och kolumnnamnen 'lang' och 'source'. Tilldela resultatet till result2.

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)
Redigera och kör kod