我有一个大的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行的内存有效过滤


基础教程推荐
猜你喜欢
- Python实现检测照片中的人脸数 2022-08-30
- 在Python中模拟子进程调用 2023-11-15
- Python tkinter:在子进程调用之间更新GUI 2023-11-16
- 如何使用MPI在Python中的进程之间共享数据? 2023-11-14
- Django把SQLite数据库转换为Mysql数据库的过程 2023-08-04
- python-无需物理移动即可在进程之间共享数据 2023-11-14
- 深入了解Python中的时间处理函数 2023-08-11
- Python子进程模块比命令慢得多(不建议使用) 2023-11-16
- 使用 OpenCV-Python 识别答题卡判卷功能 2023-08-08
- Python克服了Windows 255路径文件名限制并将目录归档 2023-11-12