试图在1.2M x 5000矩阵上使用numpy.asarray时出现内存错误

2024-04-29 11:48:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个1.2米x 5000的矩阵,我想分析,但我有一个困难的时间把它变成Numpy格式(我是数学家,不是程序员,对不起提前)。不幸的是,当我调用numpy.asarray方法时,我得到了一个MemoryError

我看过这个帖子:MemoryError exception thrown for numpy.asarray()

并试图通过分块来解决问题,但以下代码也不起作用:

RP_data = [[x1, ..., x5000], ..., [x1, ..., x5000]]
RP_data_chunks = []
    for i in range((len(RP_data) + 50000 - 1) // 50000 ):
        print ("Chunk number: " + str(i))
        RP_data_chunks.append(np.asarray(RP_data[i * 50000:(i + 1) * 50000], dtype=np.float16))

它在触发MemoryError之前到达块7(索引6)。我的系统应该有足够的内存来存储这个对象,所以我不确定是什么问题


Tags: numpyfordata格式np时间矩阵rp