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
Istruzioni dell'esercizio
- Definisci la funzione
count_entries(), che ha 3 parametri. Il primo parametro ècsv_fileper il nome del file, il secondo èc_sizeper la dimensione del blocco e l'ultimo ècolnameper il nome della colonna. - Passa in rassegna il file in un file di tipo "
csv_file" usando un ciclo "for". Usa la variabile di ciclochunke ripeti la chiamata apd.read_csv(), passandoc_sizeachunksize. - Nel ciclo interno, fai un giro sulla colonna data da
colnameinchunkusando un ciclofor. Usa la variabile di cicloentry. - Chiama la funzione
count_entries()passandole il nome del file'tweets.csv', la dimensione dei blocchi10e il nome della colonna da contare'lang'. Metti il risultato della chiamata nella variabileresult_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)