Я запускаю этот код и получаю сообщение об ошибке:
Traceback (последний вызов был последним): файл "C: / Users / asus / PycharmProjects / Refah_New / Clustering.py", строка 177, в файле G.add_edge (personid [l], personid [t], weight = x, edge_color = 'r') "C: \ Users \ asus \ PycharmProjects \ Refah_New \ NewInterpretor \ lib \ site-> пакеты \ networkx \ classes \ graph.py ", строка 891, в add_edge self._adj [u] [v] = datadict MemoryError
Я читаю CSV-файл с 50000 персонами и dahak и сохраняю это в двух списках. затем я хочу создать сеть с персоналом в качестве узлов и весом, который вычисляется из дахака как ребра.
import csv
import networkx as nx
import matplotlib.pyplot as plt
myfile = r'C:\Users\asus\Downloads\income.csv'
personid = list()
dahak = list()
with open(myfile, mode='r') as infile:
reader = csv.reader(infile)
for row in reader:
personid.append(int(row[0]))
dahak.append(int(row[1]))
t=len(dahak)
l=len(dahak)
graphlist=list()
G = nx.Graph()
for l in range(l):
print("counter: ", counter)
for t in range(t):
if l!=t:
if dahak[l]==dahak[t]:
G.add_edge(personid[t],personid[l],weight=1,edge_color='b')
elif dahak[l] != dahak[t]:
x = 1 - (abs(dahak[l] - dahak[t]) / 10)
if x >= 0.3:
G.add_edge(personid[l], personid[t], weight=x, edge_color='r')
pos = nx.spring_layout(G)
nx.draw_networkx_labels(G,pos)
nx.draw(G)
plt.show()