在Numpy中索引时减少内存使用量

时间:2015-11-03 13:05:26

标签: python sorting numpy memory indexing

我有一个带有act的大型Numpy矩阵dtype=np.float32和两个长度相同的向量raw_idraw_label。我想根据raw_id中的值对所有3个对象进行排序。但是,运行此脚本时出现内存错误。我已在下面的函数中将其隔离到act[sortind,:]。如何优化内存使用?

arrray act大致为1400000 x 400,而raw_idraw_label使用1400000 x 1dtype=np.float64。它几乎适合我的12gb内存以及我初始化的其余变量。

def sort_by_id(act, raw_id, raw_label):
    sortind = np.argsort(raw_id)
    return act[sortind,:], raw_id[sortind], raw_label[sortind]

# calling function with same variables
act, raw_id, raw_label = sort_by_id(act, raw_id, raw_label)

0 个答案:

没有答案