如何在GraphLab Create中将2种或更多种Vertices添加到SGraph中?

时间:2014-08-27 17:36:59

标签: graphlab

我在ubuntu中使用graphlab创建。我尝试使用以下命令从2个csv文件中添加2种顶点:

import graphlab as gl

v1 = gl.SFrame.read_csv('~/Documents/1.csv')
v2= gl.SFrame.read_csv('~/Documents/2.csv') 

g = g.add_vertices(vertices=v1, vid_field='name')
g = g.add_vertices(vertices=v2, vid_field='id')

但我发现它不起作用。在我运行最后一个命令之后尝试添加第二种顶点,我第一次被覆盖时添加的顶点!我该怎么做才能正确?如何才能正确添加2种边缘?

提前致谢!

1 个答案:

答案 0 :(得分:1)

在下面的示例中,我创建了两组顶点并将它们添加到图形中,然后创建两组边并将它们添加到图形中。

>>> a = graphlab.SFrame({'id': [0, 1, 2, 3]})
>>> b = graphlab.SFrame({'name': [5, 6, 7]})
>>> g = graphlab.SGraph().add_vertices(a, 'id').add_vertices(b, 'name')
>>> e1 = graphlab.SFrame({'id': [0, 0, 1], 'name': [6, 6, 5]})
>>> e2 = graphlab.SFrame({'id': [2, 3], 'name': [5, 7]})
>>> g = g.add_edges(e1, 'id', 'name').add_edges(e2, 'id', 'name')
>>> g

SGraph({'num_edges': 5, 'num_vertices': 7})
Vertex Fields:['__id']
Edge Fields:['__src_id', '__dst_id']