Решение проблемы поиска эквивалента from_pandas_adjacency (foo) при преобразовании кода NetworkX в код iGraph - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь преобразовать код NetworkX в код igraph, чтобы ускорить некоторые вычисления.

Я надеялся, что смогу заменить все networkxs в файле с помощью igraph, что не сработало из-за разницы в документации (что в ретроспективе я должен был знать). Ошибка, которую я получаю в настоящее время, заключается в том, что в модуле igraph нет функции from_pandas_adjacency (foo), которая могла бы читать из файла csv, который представляет мою матрицу смежности. Как мне исправить это?

import networkx
import numpy as np
from networkx import algorithms 
from networkx.algorithms import efficiency 
from networkx.algorithms.efficiency import global_efficiency
import pandas


#Generating combos, ignore this
data=pandas.read_csv("ones.csv")
lol1 = data.values.tolist()
data=pandas.read_csv("twos.csv")
lol2 = data.values.tolist()

combo=lol1+lol2
GE_list=[]


#Global efficiency calculations with deletions
for row in combo:
    values = row
    datasafe=pandas.read_csv("b1.csv", index_col=0)
    datasafe.loc[values, :] = 0

    datasafe[values] = 0


    g=networkx.from_pandas_adjacency(datasafe)
    ge=global_efficiency(g)
    GE_list.append(ge)


values = ["s6-8","p9-46v","p47r","p10p","IFSp","IFSa",'IFJp','IFJa','i6-8','a9-46v','a47r','a10p','9p','9a','9-46d','8C','8BL','8AV','8AD','47s','47L','10pp','10d','46','45','44']
datasafe=pandas.read_csv("b1.csv", index_col=0)
datasafe.loc[values, :] = 0

datasafe[values] = 0


g=networkx.from_pandas_adjacency(datasafe)
ge=global_efficiency(g)
GE_list.append(ge)

output=pandas.DataFrame(list(zip(combo, GE_list)))
output.to_csv('delete 1.csv',index=None)

Основное сообщение об ошибке заключается в том, что в модуле igraph нет функции from_pandas_adjacency (foo) [где foo - это выход pandas.read_csv (adjacency.csv)]. Как мне найти эквивалент from_pandas_adjacency для igraph? Приветствия

...