Я пытаюсь преобразовать код 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? Приветствия