python networkx網絡分析庫

1、載入networkx包

import networkx as nx 

2、創建網絡

2.1 創建空的無向圖

G = nx.Graph()

2.2 添加兩類節點

#分別用不同顏色表示兩類節點
for item in list_user1:
    G.add_node(item,node_color = "b")       
for item in list_user2:
    G.add_node(item,node_color  = "r")

2.3 添加邊

從一個dataframe中讀取數據,對應的兩列應該生成對應的邊,添加邊。

for i in range(len(df_question_test)):
    user_id_temp = df_question_test.loc[i,"user1"]
    doctor_id_temp = df_question_test.loc[i,"user2"]
    G.add_edge(user_id_temp,doctor_id_temp)  

2.4 查看網絡節點和邊的數量

print(G.number_of_edges())                  
print(G.number_of_nodes())

3、網絡可視化

pos=nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos,nodelist=list_user1, node_color="b",node_size = 5)
nx.draw_networkx_nodes(G,pos, nodelist=list_user2, node_color="r",node_size = 5)
nx.draw_networkx_edges(G,pos)

結果圖:
在這裏插入圖片描述
其中的spring_layout表示佈局,樣子爲放射狀,如果修改爲circular_layout,表示節點在一個圓環上均勻分佈,如下圖:

在這裏插入圖片描述
修改爲random_layout,則:
在這裏插入圖片描述

以上爲本人學習使用筆記,如有錯誤,歡迎批評指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章