При вызове nx.from_pandas_edgelist()
необходимо указать параметры source
и target
с допустимыми именами столбцов. (Если у вас нет столбцов с именами 'source'
и 'target'
, в этом случае они будут выбраны как автоматические c по умолчанию). См. документы .
Поскольку мы не знаем, как выглядит ваш файл .csv
, я позволил себе создать пример df
для демонстрации.
Примерно так:
import networkx as nx
import numpy as np
import pandas as pd
%matplotlib notebook
%matplotlib inline
# df = pd.read_csv('file1.csv')
df = pd.DataFrame({'friends':'jack', 'enemies':'jill'}, index=[1])
Graphtype = nx.Graph()
G = nx.from_pandas_edgelist(df, 'friends', 'enemies', create_using=Graphtype)
nx.draw(G)
plt.show()
Я заметил, что вы говорите Я пытался создать график из файла CSV для социальной сети. CSV-файл имеет 2 строки: Friend1, Friend2.
Если «Friend1» и «Friend2» являются строками, вам необходимо переместить ваш фрейм данных, чтобы они были столбцами:
df2 = df.transpose()
И тогда вы сможете установить эти столбцы в качестве источника и цели:
G = nx.from_pandas_edgelist(df, 'Friend1', 'Friend2', create_using=Graphtype)