鄂尔多斯人义网络中的随机节点
Random node in an Erdos Renyi network
我是 networkx 的新手,我想从 erdos_renyi 图中提取一个随机节点,我正在使用这段代码,但我得到一个空列表
N = 1000
p = 0.01
G = nx.erdos_renyi_graph(N, p)
node = list(random.choice(G.nodes()))
您的调用顺序稍有偏差:
node = list(random.choice(G.nodes()))
G.nodes()
是图的节点视图;你需要一个节点列表,G.nodes
node = [ random.choice(list(G.nodes)) ]
将节点视图变成一个列表,从中获取一个随机元素,然后将其填充到一个列表中(我不确定你为什么想要一个只有一个元素的列表)。
由于图中的节点都是0到999的整数,你也可以直接用random.randrange(N)
来随机取一个节点。
在任意图上,您可以在调用 convert_node_labels_to_integers
.
后执行相同的操作
import networkx as nx
import random
N = 1000
p = 0.01
G = nx.erdos_renyi_graph(N, p)
print(G.nodes())
# prints 0 to N - 1
node = [random.randrange(N)]
我是 networkx 的新手,我想从 erdos_renyi 图中提取一个随机节点,我正在使用这段代码,但我得到一个空列表
N = 1000
p = 0.01
G = nx.erdos_renyi_graph(N, p)
node = list(random.choice(G.nodes()))
您的调用顺序稍有偏差:
node = list(random.choice(G.nodes()))
G.nodes()
是图的节点视图;你需要一个节点列表,G.nodes
node = [ random.choice(list(G.nodes)) ]
将节点视图变成一个列表,从中获取一个随机元素,然后将其填充到一个列表中(我不确定你为什么想要一个只有一个元素的列表)。
由于图中的节点都是0到999的整数,你也可以直接用random.randrange(N)
来随机取一个节点。
在任意图上,您可以在调用 convert_node_labels_to_integers
.
import networkx as nx
import random
N = 1000
p = 0.01
G = nx.erdos_renyi_graph(N, p)
print(G.nodes())
# prints 0 to N - 1
node = [random.randrange(N)]