IniziaInizia gratis

Estrazione di informazioni da grandi quantità di dati Twitter

Ottimo lavoro nel suddividere quel file nell'esercizio precedente. Ora sai come gestire le situazioni in cui devi lavorare su file molto grandi, ed è una competenza davvero utile da avere!

È utile sapere come elaborare un file in parti più piccole e più facili da gestire, ma può diventare davvero noioso dover scrivere e riscrivere ogni volta lo stesso codice per la stessa operazione. In questo esercizio, renderai il tuo codice più riutilizzabile mettendo il lavoro dell'ultimo esercizio in una definizione di funzione.

Il pacchetto pandas è stato importato come pd e il file 'tweets.csv' è nella tua directory attuale, pronto per essere usato.

Questo esercizio fa parte del corso

Strumenti per Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci la funzione count_entries(), che ha 3 parametri. Il primo parametro è csv_file per il nome del file, il secondo è c_size per la dimensione del blocco e l'ultimo è colname per il nome della colonna.
  • Passa in rassegna il file in un file di tipo " csv_file " usando un ciclo " for ". Usa la variabile di ciclo chunk e ripeti la chiamata a pd.read_csv(), passando c_size a chunksize.
  • Nel ciclo interno, fai un giro sulla colonna data da colname in chunk usando un ciclo for. Usa la variabile di ciclo entry.
  • Chiama la funzione count_entries() passandole il nome del file 'tweets.csv', la dimensione dei blocchi 10 e il nome della colonna da contare 'lang'. Metti il risultato della chiamata nella variabile result_counts.

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: counts_dict
    counts_dict = {}

    # Iterate over the file chunk by chunk
    for ____ in ____:

        # Iterate over the column in DataFrame
        for ____ in ____:
            if entry in counts_dict.keys():
                counts_dict[entry] += 1
            else:
                counts_dict[entry] = 1

    # Return counts_dict
    return counts_dict

# Call count_entries(): result_counts
result_counts = ____

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