開始使用免費開始

入度中心性(In-degree centrality)

中心性(centrality)用來衡量節點在網路中的重要性。中心性有許多種類,在 Twitter 網路中各自代表的意義略有不同。我們先從度數中心性(degree centrality)著手,因為它的計算方式直觀,解釋也容易理解。

對像 Twitter 這樣的有向網路,需要特別區分入度與出度中心性,尤其是在轉推(retweet)網路中。轉推網路的入度中心性代表那些被大量轉推的使用者。

networkx 已以 nx 匯入。 另外,網路 G_rtG_reply 以及 column_names = ['screen_name', 'degree_centrality'] 已為你載入。

本練習屬於課程

使用 Python 分析社群媒體資料

檢視課程

練習說明

  • 使用 nx.in_degree_centrality() 計算轉推網路的入度中心性,並將結果存為 rt_centrality
  • 以相同方式計算回覆網路的入度中心性,並將結果存為 reply_centrality
  • 將回覆網路中心性的項目(也就是鍵值配對的 tuple)傳入 DataFrame 建構子。
  • 對轉推網路也做一次相同的處理。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Generate in-degree centrality for retweets 
rt_centrality = ____

# Generate in-degree centrality for replies 
reply_centrality = ____

# Store centralities in DataFrame
rt = pd.DataFrame(list(____), columns = column_names)
reply = pd.DataFrame(list(____), columns = column_names)

# Print first five results in descending order of centrality
print(rt.sort_values('degree_centrality', ascending = False).head())

# Print first five results in descending order of centrality
print(reply.sort_values('degree_centrality', ascending = False).head())
編輯並執行程式碼