比率
ネットワークにおける重要性を厳密に測る指標ではありませんが、「ratio'd(比率で負ける)」という発想は Twitter に特有のネットワーク指標であり、ツイートの不人気さを判断する際によく使われます。「The Ratio」と呼ばれるこの指標は、リプライ数をリツイート数で割ることで計算します。今回の目的では、リツイートネットワークとリプライネットワークの両方について、入次数のみを取得するのが概念的に理にかなっています。
ネットワーク G_rt と G_reply、そして column_names = ['screen_name', 'degree'] はすでに読み込まれています。
この演習はコースの一部です
Python でのソーシャルメディアデータ分析
演習の手順
- グラフメソッド
.in_degree()を使って、リツイートネットワークの入次数を計算しましょう。 - リプライネットワークについても同様に計算しましょう。
.merge()を使って、2つの DataFrame を結合しましょう。- 比率を計算しましょう。列名は
degree_replyとdegree_rtです。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Calculate in-degrees and store in DataFrame
degree_rt = pd.DataFrame(list(____.____()), columns = column_names)
degree_reply = pd.DataFrame(list(____.____()), columns = column_names)
# Merge the two DataFrames on screen name
ratio = ____.____(____, on = 'screen_name', suffixes = ('_rt', '_reply'))
# Calculate the ratio
ratio['ratio'] = ____ / ____
# Exclude any tweets with less than 5 retweets
ratio = ratio[ratio['degree_rt'] >= 5]
# Print out first five with highest ratio
print(ratio.sort_values('ratio', ascending = False).head())