IniziaInizia gratis

Mettere insieme tutto (2)

A volte si commettono degli errori quando si chiamano le funzioni, anche quelle che hai fatto tu stesso. Ma non preoccuparti! In questo esercizio migliorerai il lavoro svolto in precedenza con la funzione count_entries() nell'ultimo capitolo, aggiungendo un blocco try-except ad essa. Questo permetterà alla tua funzione di fornire un messaggio utile quando l'utente chiama la funzione count_entries() ma fornisce un nome di colonna che non è presente nel DataFrame.

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

  • Aggiungi un blocco try in modo che quando la funzione viene chiamata con gli argomenti corretti, elabori il DataFrame e restituisca un dizionario di risultati.
  • Aggiungi un blocco except in modo che quando la funzione viene chiamata in modo errato, venga visualizzato il seguente messaggio di errore: 'The DataFrame does not have a ' + col_name + ' column.'.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define count_entries()
def count_entries(df, col_name='lang'):
    """Return a dictionary with counts of
    occurrences as value for each key."""

    # Initialize an empty dictionary: cols_count
    cols_count = {}

    # Add try block
    ____:
        # 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

    # Add except block
    ____:
        ____

# Call count_entries(): result1
result1 = count_entries(tweets_df, 'lang')

# Print result1
print(result1)
Modifica ed esegui il codice