首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中的不同进程(非父子关系)之间共享数据(如pandas数据帧)

如何在python中的不同进程(非父子关系)之间共享数据(如pandas数据帧)
EN

Stack Overflow用户
提问于 2018-09-11 06:48:04
回答 1查看 0关注 0票数 0

我现在正在使用python创建一个包含财务数据的财务分析程序。数据使用MySQL存储在数据库中。每当我调试或添加新模块时,我都需要从数据库加载数据。但是数据太大,加载数据需要很长时间。所以我想编写一个程序,只将数据加载到内存中一次,并允许多个进程共享它.Python库多进程似乎只允许共享,如果它是父子关系。我希望该过程能够与完全独立的Python进程共享数据,而不是父子关系。我使用sysv_ipc创建了共享内存,但我只能以字节格式共享数据,并且pandas dataframe无法使用共享内存。

EN

回答 1

Stack Overflow用户

发布于 2018-09-11 15:59:15

许多地方和其他线程都涉及到这个主题。有两种方法可以使用多处理:进程或池。进程使用多处理队列共享数据。对象被队列腌制,因此DataFrame将无法工作。池可以使用多处理值,数组或管理器共享数据。

另请注意,共享内存不应由单独的进程修改,否则将被复制。对于增加共享内存的保留计数(即创建共享内存数据的局部变量)的任何事情都是如此。查看侧栏上的一些相关链接--->

或者我刚刚问了一个问题并发布了示例代码,展示了如何使用Pool共享DataFrame。使用共享内存的Pandas itertuples()池中的内存错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档