Python 2.7 在networkx中从一个巨大的图中采样

Python 2.7 在networkx中从一个巨大的图中采样,python-2.7,graph,bigdata,networkx,Python 2.7,Graph,Bigdata,Networkx,我将从一个巨大的图形(大约1.5M的边和0.5M的节点)中采样。 在networkx中是否有实现它的原因(我指的是一个书面函数)? 我将对节点进行均匀采样。(我只需要networkx中的一个工具) 如果您能提供任何帮助,我将不胜感激。假设G是图形,您需要k=100样本 import random k = 100 sampled_nodes = random.sample(G.nodes, k) sampled_edges = random.sample(G.edges, k) 假设G是图,您需

我将从一个巨大的图形(大约1.5M的边和0.5M的节点)中采样。 在
networkx
中是否有实现它的原因(我指的是一个书面函数)? 我将对节点进行均匀采样。(我只需要networkx中的一个工具)


如果您能提供任何帮助,我将不胜感激。

假设G是图形,您需要
k=100
样本

import random
k = 100
sampled_nodes = random.sample(G.nodes, k)
sampled_edges = random.sample(G.edges, k)

假设G是图,您需要
k=100
样本

import random
k = 100
sampled_nodes = random.sample(G.nodes, k)
sampled_edges = random.sample(G.edges, k)

我建议对@xyzjayne的答案进行改进

import random
k = 100
sampled_nodes = random.sample(G.nodes, k)
sampled_graph = G.subgraph(sampled_nodes)

这将保留父图的正确边连接

我建议对@xyzjayne的答案进行改进

import random
k = 100
sampled_nodes = random.sample(G.nodes, k)
sampled_graph = G.subgraph(sampled_nodes)

这将从父图形中保留正确的边连接

您需要提供有关您正在尝试执行的操作的更多信息。你想从取样中学到什么?样本边缘?示例节点?您需要提供更多有关您正在尝试执行的操作的信息。你想从取样中学到什么?样本边缘?示例节点?您知道networkx是否允许这样的子图方法,在其中我将要保留的边传递给它?我需要通过随机取15%的边来取一个图的子图。也就是说,我只想保留采样的边。那么,用这些采样的边创建一个新的图形对象是不是最好?@DavidIreland我不知道你是否已经找到了它。我在中找到了这个方法。你知道networkx是否允许像这样的子图方法,在那里我传递我想要保留的边?我需要通过随机取15%的边来取一个图的子图。也就是说,我只想保留采样的边。那么,用这些采样的边创建一个新的图形对象是不是最好?@DavidIreland我不知道你是否已经找到了它。我在网上找到了这个方法。