使用kronecker产品时,Python中发生MemoryError

时间:2018-08-22 03:43:10

标签: python-3.x numpy

我定义了这样一个函数:

def calc(x,y,B):
    ar = np.array([x,y])
    a = (ar[1] - B) / ar[0]
    la = len(a)
    z = np.kron(a, ar[0]).reshape((la,la)) - ar[1] + B
    s = np.sqrt(a**2 + B).reshape((la,1))
    sums = np.sum(np.abs(z/s), axis=1)

    return a[np.argmin(sums)]

我有一个长度为660000的数据框,像这样:

df = pd.DataFrame({'x':[range(1,660001)],'y':[range(660000,0,-1)]

然后我使用该函数进行计算:

calc(df.x, df.y,1)

但出了错:MemoryError。如何处理?

0 个答案:

没有答案