始める無料で始める

比率

ネットワークにおける重要性を厳密に測る指標ではありませんが、「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())
コードを編集して実行