Pythonに疲れたのでnehanでデータ分析してみた(コロナ関連、あのワードは今?)


ご挨拶

こんにちは、マンボウです。
昨今盛り上がっているPythonによるデータ分析ですが、使いこなすのは大変です。
ついついPythonと格闘することが目的になり、本来達成したいビジネス改善はいずこへ。。。
そういった悩みを解決するためのGUIツール「nehan」を使って、データを分析する例をご紹介したいと思います。

Twitterのデータから、特定単語の出現数を振り返る

コロナウイルスが社会問題になってから半年以上が経過しました。
ここ約2ヶ月のtweetデータから、あの単語の出現数を追ってみます。

データ

nehanはTwitterのデータをダイレクトに取り込むことができ、今回はその機能を使いました。
ご紹介はまた後日。
2020/7/27から毎日「コロナ」をtweet本文に含む3,000tweetを蓄積し、約2ヶ月分のデータを準備。
データの詳細はこちらから

前処理

1.使用するText,Created_Atだけ、列選択
port_2 = port_1[['Created_At', 'Text']]

2.Created_Atを日付型に変更

※一部のCreated_Atがおかしなデータになっておりエラーを吐くので、無視
※時:分:秒まで入っているので、年-月-日のみを取得

port_3 = port_2.copy()
port_3['Created_At'] = pd.to_datetime(
    port_3['Created_At'], errors='coerce', foramt=None)
port_3['Created_At'] = port_3['Created_At'].map(lambda x: x.date())

3.日付型に変更不能なCreated_Atが欠損値になっているので、行ごと削除
port_4 = port_3.copy()
port_4 = port_4.dropna(subset=None, how='any')

日別の単語数を集計

4.特定単語を含むtweetにフィルタ
port_5 = port_4[(port_4['Text'].str.contains('クラスター', na=False, regex=False))]

5.日毎に集計
port_9 = port_5.copy()
port_9 = port_9.groupby(['Created_At']).agg(
    {'Created_At': ['size']}).reset_index()
port_9.columns = ['Created_At', '行数カウント']

可視化して考察

クラスター


爆発的感染の象徴として「クラスター」という単語は広く認知されたと言えます。
8/9にぶっ飛んでるのは、おそらく渋谷で行われたクラスターフェスが要因でしょう。

アベノマスク


もう懐かしい感じになったこの単語も、見てみました。

自粛


新しい生活様式が定着しつつあありますが、自粛ムードが完全に終わった訳ではなさそうです。
徐々に減少しているようには見えます。

まとめ

厳密な結果を得るためには、本当はもっと前処理をしないといけないのですが、ざっくりとした観察、およびnehanのご紹介を兼ねてシンプルにデータを処理してみました。
なお、上記のソースコードはnehanのpythonエクスポート機能で出力したコードをコピペしました。

※分析ツールnehanのご紹介はこちらから。