Как создать график из кадра данных, содержащего список ребер в Python? - PullRequest
0 голосов
/ 13 октября 2018

Работая с python и spark, я пытаюсь создать график из фрейма данных.Моя переменная Dataframe df содержит список ребер.Вот что я попробовал:

import numpy as np
from igraph import *

dataFrame = "/FileStore/tables/source.csv"
df = spark.read.format("csv").option("header","false").option("inferSchema", "true").load(dataFrame)

dd = df.collect()
npmatr=np.asmatrix(dd,dtype=np.int)
print(npmatr)
g=Graph(len(npmatr))
for i in range(len(npmatr)):
    for j in range(2):
       g.add_edges(npmatr[i][j])

Но там написано:

"Ошибка типа: итерация должна возвращать пары целых чисел или строк".

Любые предложения о том, как исправить мой код или любой другой способ чтения данных графа из кадра данных?

Для большей ясности предположим, что print(npmatr) имеет следующий вывод:

[[0 1] [0 2] [0 3] [0 4] [12] [1 3] [1 4] [1 6] [2 3] [2 6] [2 7] [3 4] [4 2] [5 6] [5 7] [6 7] [6 5][7 4]]

Я хотел бы создать график, содержащий ребра, как в приведенном выше списке, например, он будет иметь ребра от узла 0 до узлов 1,2,3,4,ребра от узла 1 до узла 2,3,4,6, ...

...