Edited at

twitterの自分のどんなツイートが「いいね」をもらいやすいか、分析する


目的

twitterで、どんな言葉を含む自分のツイートがインプレッションや「いいね」が多くなるか、調べたい


前提


  • Anaconda等をインストールすることで、jupyter notebookとpandasがインストールされている状態であること


やりかた


twitter analyticsからデータをダウンロード

twitter analytics にログインします。

そして、画面上部の「ツイート」を押して表示される、以下の画面から、「データをエクスポート」をクリック。

ダウンロード開始までにちょっと時間はかかりますが、ダウンロードされます。

image.png


jupyter notebook の起動

ダウンロードしたcsvを、デスクトップやdocumentsフォルダなど、てきとうなフォルダに移動します。

そして、そのフォルダでjupyter notebookを開きます。

(windowsの場合は、保存したフォルダの何もないところを左クリック後、右クリック→PowerShellウィンドウをここに開く を選択。コマンドラインでjupyter notebookと打ち込んで実行)

そこから「new」をクリックし、出てくるpython3を選択します。

image.png


データの読み込み

以下、表示される「セル」の部分にコードを打ち込んで、実行(shift + Enter)していきます。

image.png

まずは、必要なライブラリをインポートして、csvファイルを読み込みます。

import pandas as pd

df = pd.read_csv("XXXX.csv")

ここで、XXXX.csv部分はダウンロードしたファイル名にしてください。

私の場合は、tweet_activity_metrics_miler0528_20181023_20181120_ja.csvでした。

これで、csvを読み込んで、dfという名前を付けたことになります。


データの確認

まず、どんなデータが入っているか、確認してみます。

df.head()

上を実行すると、以下のような表が表示されます。

これが、読み込まれたcsvに書いてあったデータです。

このcsvには、ツイート本文や、そのツイートに対する、いいね、リツイートの数が含まれていることがわかります。

image.png


データ分析の下準備

さて、どんな分析をしていくか、考えてみましょう。

例えば、特定の言葉を含むツイートがよく見られているか、知りたいとします。

私の場合、プログラミング学習サイトである「progate」についてツイートしたとき、「いいね」をもらう数が多い気がしています。

だから、本当にそうなのか、分析してみます。

まず、読み込んだデータに、ツイート中に「progate」という文字が含まれるか、という情報を示す列を追加します。

df["has_progate"] = df["ツイート本文"].str.contains("progate")

「has_progate」という名前の列を追加して、そこに、「ツイート本文」に「progate」が含まれるかどうか(TrueかFalseか)という情報を追加しています。

今度は、この「has_progate」列に入っているTrueかFalseかで、データを2つに分けます。

こういう処理をするときには、groupby()というメソッドが便利です。

つまり、こういう風にします。

group = df.groupby("has_progate")


データ分析方法と結果

さて、ここまでで、分析の準備ができました。

あとは結果を見るだけ。

progateがツイートに含まれるかどうか、分けたうえで、そのツイート達がもらっている「いいね」などの数の平均値を求めます。

group.mean()

このコードを実行すると、以下のような結果が得られます

image.png

つまり、私の場合は、progateを含む(Trueの)ツイートでは、平均、5383インプレッションをもらい、平均で4つ「いいね」をもらっている、ということになります。


まとめ

ここまでの分析が、じつは6行だけのコードで行われています。

pandas とっても便利です。

いろんな言葉で同じように分析してみる(progate部分を変えてみる)と、あなたのツイッターライフに有益な情報が得られる、かも!


参考

https://note.mu/daikawai/n/nb47e68957bf0