python-对DataFrame行的内存有效过滤

我有一个大的DataFrame对象(1,440,000,000行).我在内存(交换包含)限制下运行.我需要提取具有某个字段值的行的子集.但是,如果我这样做: SUBSET = DATA[DATA.field == value]我以MemoryError异常或崩溃结束.有什么...

我有一个大的DataFrame对象(1,440,000,000行).我在内存(交换包含)限制下运行.

我需要提取具有某个字段值的行的子集.但是,如果我这样做:

>>> SUBSET = DATA[DATA.field == value]

我以MemoryError异常或崩溃结束.
有什么方法可以显式过滤行-无需计算中间掩码(DATA.field == value)?

我发现了DataFrame.filter()和DataFrame.select()方法,但是它们在列标签/行索引而不是行数据上运行.

解决方法:

使用query,它应该快一点:

df = df.query("field == value")

本文标题为:python-对DataFrame行的内存有效过滤

基础教程推荐