簡體   English   中英

networkx:從關系列表中添加邊

[英]networkx: add edges from list of relationships

我有一個由“用戶”和“用戶之間的互動”組成的數據集(熊貓框架),例如:

user, interactions
1, 2 7 9 4
2, 7 1 5 7 8 3
4, 9 5 3

每個數字對應於一個用戶的ID。 每個用戶可以有N次互動,其中N> = 0。

逗號后的值是用戶的鄰居。

如何以一種有效的方式從這些數據創建一個networkx圖?

分割字符串后,我嘗試了一些循環,但是性能很差。

謝謝!

Networkx具有從邊列表( .add_edges_from() )添加邊的功能。

import networkx as nx
import matplotlib.pyplot as plt

user = [1,2,4]
interactions = [
 [2, 7, 9, 4],
 [7, 1, 5, 7, 8, 3],
 [9, 5, 3]
]

# create the edge list
elist = []
for v1,v2 in zip(user,interactions):
    elist.extend([(v1,v) for v in v2])

# create graph from edge list
G = nx.Graph()
G.add_edges_from(elist)

# plot graph
nx.draw(G, with_labels=True)
plt.show()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM