Extrahera information från stora mängder Twitter-data
Bra jobbat med att dela upp filen i den förra övningen! Du vet nu hur du hanterar situationer där du behöver bearbeta en mycket stor fil – en väldigt användbar färdighet att ha.
Det är bra att kunna bearbeta en fil i mindre, mer hanterbara delar, men det kan bli väldigt omständligt att skriva om samma kod för samma uppgift gång på gång. I den här övningen gör du koden mer återanvändbar genom att lägga in arbetet från förra övningen i en funktionsdefinition.
Pandas-paketet har importerats som pd och filen 'tweets.csv' finns i din aktuella katalog.
Den här övningen är en del av kursen
Python Toolbox
Övningsinstruktioner
- Definiera funktionen
count_entries()med 3 parametrar. Den första parametern ärcsv_fileför filnamnet, den andra ärc_sizeför chunkstorleken och den sista ärcolnameför kolumnnamnet. - Iterera över filen i
csv_filemed enfor-slinga. Använd slingvariabelnchunkoch iterera över anropet tillpd.read_csv(), och skickac_sizetillchunksize. - I den inre slingan itererar du över kolumnen som anges av
colnameichunkmed enfor-slinga. Använd slingvariabelnentry. - Anropa funktionen
count_entries()och skicka filnamnet'tweets.csv', chunkstorleken10och namnet på kolumnen att räkna,'lang'. Tilldela resultatet av anropet till variabelnresult_counts.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)