Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Definiera funktionen count_entries() med 3 parametrar. Den första parametern är csv_file för filnamnet, den andra är c_size för chunkstorleken och den sista är colname för kolumnnamnet.
  • Iterera över filen i csv_file med en for-slinga. Använd slingvariabeln chunk och iterera över anropet till pd.read_csv(), och skicka c_size till chunksize.
  • I den inre slingan itererar du över kolumnen som anges av colname i chunk med en for-slinga. Använd slingvariabeln entry.
  • Anropa funktionen count_entries() och skicka filnamnet 'tweets.csv', chunkstorleken 10 och namnet på kolumnen att räkna, 'lang'. Tilldela resultatet av anropet till variabeln result_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)
Redigera och kör kod