Aan de slagGa gratis aan de slag

Een beetje Twitter-tekstanalyse

Nu je je DataFrame met tweets klaar hebt, ga je een beetje tekstanalyse doen om te tellen hoeveel tweets de woorden 'clinton', 'trump', 'sanders' en 'cruz' bevatten. In de code vóór de oefening hebben we de volgende functie word_in_text() gedefinieerd, die aangeeft of het eerste argument (een woord) voorkomt in het tweede argument (een tweet).

import re

def word_in_text(word, text):
    word = word.lower()
    text = text.lower()
    match = re.search(word, text)

    if match:
        return True
    return False

Je gaat itereren over de rijen van de DataFrame en uitrekenen hoeveel tweets elk van onze trefwoorden bevatten! De lijst met objecten voor elke kandidaat is geïnitialiseerd op 0.

Deze oefening maakt deel uit van de cursus

Gevorderd data importeren in Python

Cursus bekijken

Oefeninstructies

  • Binnen de for-lus for index, row in df.iterrows(): verhoogt de code nu de waarde van clinton met 1 elke keer dat een tweet (tekstreeks) waarin 'Clinton' voorkomt wordt aangetroffen; maak de code compleet zodat hetzelfde gebeurt voor trump, sanders en cruz.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Initialize list to store tweet counts
[clinton, trump, sanders, cruz] = [0, 0, 0, 0]

# Iterate through df, counting the number of tweets in which
# each candidate is mentioned
for index, row in df.iterrows():
    clinton += word_in_text('clinton', row['text'])
    trump += word_in_text(____, ____)
    sanders += word_in_text(____, ____)
    cruz += word_in_text(____, ____)
Code bewerken en uitvoeren