始める無料で始める

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 ずつ増えるコードが記述されています。同じ処理が trumpsanderscruz にも適用されるよう、コードを完成させましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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(____, ____)
コードを編集して実行