python 多进程怎么使用redis_【干货】Python 多进程使用技巧

本文介绍了Python中实现多进程处理的三个实用技巧:利用两层循环的并行处理,结合Pandas的group功能进行并行处理,以及使用pandarallel库实现pandas apply的多进程操作。详细讲解了各个技巧的适用场景和代码示例。
摘要由CSDN通过智能技术生成

技巧1: 两个列表的两层循环并行处理

使用场景:比如两层for循环处理数据,此时可以使用生成器返回pair对,之后进行多进程处理,示例代码如下:

import multiprocessing

xlist=[1,2,3]ylist=[4,5,6]def enum_tasks():
  for x in xlist:
    for y in ylist:
      yield (x,y)def product(xy):
  x,y = xy  return x * yif __name__ == '__main__':
  CHUNK_SIZE = multiprocessing.cpu_count()
  pool = multiprocessing.Pool()
  for result in pool.imap(product, enum_tasks(), CHUNK_SIZE):
    print result

技巧2:pandas的group并行处理

使用场景:根绝某一列进行分组,之后对每个分组进行处理,返回结果比较灵活,可以在tmpFunc定制自己的功能,很强大

import pandas as pdfrom joblib import Parallel, delayedimport multiprocessingdef tmpFunc(df):
    df['c'] = df.a + df.b    return dfdef
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值