我有一个大的DataFrame
对象(1440000000行)。我在内存(交换includet)限制下操作。在
我需要提取具有某个字段值的行的子集。但是如果我真的这样做:
>>> SUBSET = DATA[DATA.field == value]
我以MemoryError
异常或崩溃结束。
有没有任何方法可以显式地过滤行而不计算中间掩码(DATA.field == value
)?在
我找到了DataFrame.filter()和{a2}方法,但它们对列标签/行索引而不是行数据进行操作。在
Tags:
如果数据帧中的所有数据都是相同类型的,那么就使用numpy数组,这样内存效率更高,速度更快。您可以通过以下方法将数据帧转换为numpy矩阵df.as_矩阵(). 在
另外,您可能需要检查数据帧已经占用了多少内存:
以字节为单位返回大小。在
使用^{} ,应该快一点:
相关问题 更多 >
编程相关推荐