Informatie extraheren uit grote hoeveelheden Twitterdata
Goed gedaan met het opdelen van dat bestand in de vorige oefening. Je weet nu hoe je situaties aanpakt waarin je een heel groot bestand moet verwerken, en dat is een superhandige vaardigheid!
Het is fijn om een bestand in kleinere, beter beheersbare stukjes te kunnen verwerken, maar het kan nogal repetitief worden als je telkens dezelfde code moet schrijven voor dezelfde taak. In deze oefening maak je je code meer herbruikbaar door je werk uit de vorige oefening in een functiedefinitie te zetten.
Het pandas-pakket is geïmporteerd als pd en het bestand 'tweets.csv' staat in je huidige map klaar voor gebruik.
Deze oefening maakt deel uit van de cursus
Python-gereedschapskist
Oefeninstructies
- Definieer de functie
count_entries()met 3 parameters. De eerste parameter iscsv_filevoor de bestandsnaam, de tweede isc_sizevoor de chunkgrootte en de laatste iscolnamevoor de kolomnaam. - Iteer over het bestand in
csv_filemet eenfor-lus. Gebruik de lusvariabelechunken itereer over de aanroep vanpd.read_csv(), waarbij jec_sizedoorgeeft aanchunksize. - Iteer in de binnenste lus over de kolom die door
colnamewordt aangegeven inchunkmet eenfor-lus. Gebruik de lusvariabeleentry. - Roep de functie
count_entries()aan en geef de bestandsnaam'tweets.csv', de chunkgrootte10en de naam van de kolom om te tellen'lang'door. Sla het resultaat van de aanroep op in de variabeleresult_counts.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)