繁体   English   中英

如何使用Python多重处理提高流程效率

How to make a process more efficient with Python multiprocessing

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个函数func_app ,该参数是具有17.000.000行的巨大数据框(df1)。 为了使过程更有效率,我尝试使用多处理库,但是它仍然需要大量的时间和内存,因为在执行功能之前,我需要执行groupBy。 这个GROUP BY是为什么我不能在执行功能之前将数据框分成较小的部分的原因,这会使事情变得更加轻松和快捷,但是我看不到摆脱它的方法。 有什么我不想解决的方法吗?

以下是python中的部分代码:

def func_app(g):
    g = g[1].reset_index(drop=True)
    niv_app = g.reindex(columns=['A1','B1','B2','B3'])
    niv_app = niv_app.sort_values(by = ['A1','B1'],ascending = [True,False]).groupby('A1').head(1)
    niv_app = niv_app.reset_index(drop=True)
    g['B1_BIS'] = niv_app.loc[0,'B1']
    g['B2_BIS'] = niv_app.loc[0,'B2']
    g['B3_BIS'] = niv_app.loc[0,'B3']
    return g

with parallel_backend('loky', n_jobs=dict_download['num_cores']):
    var = Parallel(verbose=5)(delayed(func_app)(g) for g in df1.groupby(['A1','A2']))
print('\nManaging results...')
df_output = pd.concat(var, sort=False)

谢谢你!

问题暂未有回复.您可以查看右边的相关问题.
1 在单个处理器中使用多重处理的效率

我计划使用Python的multiprocessing编写一个Python程序。 该程序将在4核计算机上运行。 该程序的核心计算如下: 其中worker()是指耗时的过程。 题 从理论上讲,与顺序版本相比,使用多处理是否会使整个程序变慢? 谢谢。 ...

2 Python。 多重处理

最后尝试得到答案。 我需要在不同线程上无限循环地运行 4 个函数。 错误是只有第一个线程运行。 随意询问为什么这些函数是这样的。 ...

3 在Python中使用多重处理不能提高程序速度,我该怎么做才能解决此问题?

因此,我决定我想再测试一下我的Python技能,只是好奇是否能够创建一个能够“猜测”我输入到其中的密码的程序,只需简单地通过所有可能的字母组合来运行它即可直到找到正确的密码。 明确地说,我不是将其用于恶意目的,我只是想了解这是可能的,以及是否能够弄清如何制作一个基本的东西。 但是,我发现它的执行速度 ...

4 在python多重处理中使用join()

我的问题与以下代码有关: 如您所见,我的父进程在加入子进程之前已经睡眠了很长时间。 而且我的子进程运行起来很快。 问题是: 如上面的示例所示,主进程在加入子进程之前可以等待很长时间吗? 在主进程加入该子进程时,子进程会变成僵尸吗? 这段代码有问题吗? 这是不好的代码吗 ...

6 python多重处理使用池

我的 Python 课程有一个作业。 问题是这样的: 您将编写一个程序来创建多个进程 (p=10)。 每个进程将接收整数值 (y) 并计算 y 乘以 4 (y*4)。 y 值的集合是一个整数列表 [0, 1, 2, 3, 4, 5]。 您必须使用进程池,因此您需要映射这 10 个进程以获取 y ...

7 如何在python中使用多重处理?

我正在尝试执行一项任务,该任务是向列表分配内容。 我将通过多处理来实现。 在完成所有任务之后,我想总结所有这些。 但是,我得到的不是我所期望的。 你知道为什么会这样吗? 下面只是一个示例代码。 结果应为45,而不是0。 ...

10 使用Python多重处理写入CSV

我想利用多处理并行创建单个csv文件,但到目前为止结果很糟糕。 我创建了一个嵌套列表,当执行序列化而不进行多处理时,嵌套列表的尺寸应为50 x 10。 但是,生成的csv文件包含每个列表都是一个元素。 我该如何解决? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM