Ошибка памяти в python 3.6 - PullRequest
       56

Ошибка памяти в python 3.6

1 голос
/ 23 января 2020

Я запускаю этот код и получаю сообщение об ошибке:

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()
...