无法在图中插入顶点

  • 本文关键字:插入 顶点 python graph
  • 更新时间 :
  • 英文 :


我正在尝试创建一种社交网络分析的图,但我不能使用Networkx库(它用于学术项目(。我有一个csv文件,数据如下:

Column1, Column2
1563,133
171316,2
1563,924

我创建了一种方法来读取csv文件的内容并创建图形的Vertex对象:

def github_csv():
data = []
with open('Github1.csv', mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
follower = Vertex(row["follower"])
followed = Vertex(row["followed"])
data.append(Vertex(follower))
data.append(Vertex(followed))
return data

然后,我试着在图上插入一个顶点:

def build_graph():
graph_vertex = github_csv()
graph = Graph(True)
for vertex in graph_vertex:
print(vertex)
graph.insert_vertex(vertex)
print(graph.vertex_count())
return graph

我的类Graph和insert_vertex方法是:

class Graph:
def __init__(self, directed=False):
self._directed = directed
self._number = 0           
self._vertices = {} 

def insert_vertex(self, x):
v = Vertex(x)
self._vertices[v] = {}    
return v
def vertex_count(self):
return self._number

但是,当我调用build_graph()时,顶点计数等于零。我在这里做错了什么?输出类似于:

36872
8135
5823
272950
797296
0
<__main__.Graph object at 0x00000234DD044F70>

您需要更新_number的值,可能在insert_vertex中为:

def insert_vertex(self, x):
v = Vertex(x)
self._vertices[v] = {}   
self._number = len(self._vertices)
return v

最新更新