IniziaInizia gratis

Mettere insieme tutto (2)

Wow, hai appena generalizzato l'analisi del linguaggio di Twitter che hai fatto nel capitolo precedente per includere un argomento predefinito per il nome della colonna. Ora generalizzerai questa funzione facendo un ulteriore passo avanti, consentendo all'utente di passarle un argomento flessibile, ovvero, in questo caso, tutti i nomi di colonna che l'utente desidera!

Ancora una volta, per comodità, pandas è stato importato come pd e il file 'tweets.csv' è stato importato nel DataFrame tweets_df. Vengono fornite anche parti del codice del tuo lavoro precedente.

Questo esercizio fa parte del corso

Introduzione alle funzioni in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Completa l'intestazione della funzione fornendo il parametro per il DataFrame df e l'argomento flessibile *args.
  • Completa il ciclo for all'interno della definizione della funzione in modo che il ciclo avvenga sulla tupla args.
  • Chiama count_entries() passando il DataFrame tweets_df e il nome della colonna 'lang'. Assegna il risultato a result1.
  • Chiama count_entries() passando il DataFrame tweets_df e i nomi delle colonne 'lang' e 'source'. Assegna il risultato a result2.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice