这是我的代码
out = out.T.groupby(level=0, sort=False).sum().T
它给出了这个错误
MemoryError: Unable to allocate 13.1 GiB for an array with shape (37281, 47002) and data type int64
我试过这个
out = out.T.groupby(level=0, sort=False).sum().astype(np.int8).T
但仍然遇到同样的错误!
知道如何解决吗?
您的代码创建了一些大型临时数组。 您可能可以分块执行此操作,累积它们,然后合并结果。
chunksize= int(1e4) # or some other value
results = []
for i in range(0, len(out), chunksize):
results.append(out[i:i+chunksize].T.groupby(level=0, sort=False).sum())