做一点 Twitter 文本分析
现在您已经构建好了包含推文的 DataFrame,接下来要做一个简单的文本分析,统计包含 'clinton'、'trump'、'sanders' 和 'cruz' 这几个词的推文数量。在练习前置代码中,我们定义了函数 word_in_text(),用于判断第 1 个参数(单词)是否出现在第 2 个参数(推文)中。
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
您将遍历 DataFrame 的每一行,计算包含各个关键词的推文数量!每位候选人的计数对象列表已初始化为 0。
本练习是课程的一部分
Python 数据导入进阶
练习说明
- 在
for循环for index, row in df.iterrows():中,当前代码在遇到包含 "Clinton" 的推文(text 行)时,会将clinton的值加1;请补全代码,使trump、sanders和cruz同样在相应推文出现时各自加1。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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(____, ____)