Трохи текстового аналізу Twitter
Тепер, коли ви підготували свій датафрейм із твітом, виконайте невеликий текстовий аналіз: порахуйте, скільки твітів містять слова 'clinton', 'trump', 'sanders' і 'cruz'. У коді до вправи ми визначили функцію word_in_text(), яка вкаже, чи перший аргумент (слово) зустрічається в другому аргументі (твіт).
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
Ви пройдетеся по рядках датафрейму та обчислите, скільки твітів містять кожне з наших ключових слів! Список лічильників для кожного кандидата ініціалізовано нулем.
Ця вправа є частиною курсу
Середній рівень імпортування даних у Python
Інструкції до вправи
- Усередині циклу
forfor index, row in df.iterrows():код зараз збільшує значенняclintonна1щоразу, коли трапляється твіт (рядок тексту) з згадкою 'Clinton'; допишіть код так, щоб те саме відбувалося дляtrump,sandersіcruz.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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(____, ____)