python - 并行化多个数据帧上的搜索操作
问题描述
我有多个巨大的数据框,我试图使用来自一个数据框的唯一标识符作为其他数据框的搜索基础进行映射。我想加快这个过程,因为整个过程需要 6 个多小时才能完成。我目前正在做的是使用该df[df['Column'] == 'Unique value']
方法在其他数据帧中搜索键,将匹配串在一起并附加到一个新的数据帧。这个过程每个条目大约需要 0.2 秒,我觉得这有点偏高。我已经尝试apply.async()
作为一种并行化的方法,但是为每个唯一键迭代创建的过程比在单个内核上运行它需要更多的时间。我可以做些什么来加快速度?
我当前实现的相关片段如下:
def indexer(df, index):
return df[df['Column'] == 'index']
def mapping:
with Pool(processes=3) as pool:
for i in df1.iloc[:,:]['Column'].unqiue():
p1 = pool.apply_async(indexer, (df1,index,))
p2 = pool.apply_async(indexer, (df2,index,))
p3 = pool.apply_async(indexer, (df3,index,))
df1 = p1.get()
df2 = p2.get()
df3 = p3.get()
谢谢你的建议!
解决方案
推荐阅读
- css - 将 CSS 导出到单个文件和每个 SCSS 一个文件
- node.js - 将 GRPC 工具输出保存到指定位置
- python - Python - 获取“打开方式”文件
- azure-cognitive-services - mstts:backgroundaudio SSML 标签在 SDK 上不起作用
- python - 连接到 postgreSQL 数据库时安装 psycopg2 时出错
- google-apps-script - 附加组件上的错误安装时钟触发器
- java - javaee Schema(Eclipse)中web.xml文件中的奇怪错误
- javascript - 将哈希添加到 vanilla js 中的 href 集合
- python-3.x - 如何覆盖通过 otm 关系链接到主模型的模型中的数据?
- python - matplotlib bar 方法不返回错误栏