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' に言及するツイート(テキスト行)が見つかるたびにclintonの値が1ずつ増えるコードが記述されています。同じ処理が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(____, ____)