当前位置:   article > 正文

【工程实践】Python 实现多进程加速程序_python mp.cpu_count

python mp.cpu_count

1.multiprocessing与 tqdm 实现多进程

  1. import pandas as pd
  2. from tqdm import tqdm
  3. import multiprocessing as mp
  4. with mp.Pool(mp.cpu_count()) as pool:
  5. data['Temp_Target'] = tqdm(pool.imap(en_token, data['Target']),total = len(data['Target']),desc = "处理进度")

        使用多线程使用en_token 方法对data["Target"]处理,得到的结果赋值给data['Temp_Target']。

参数说明:

        1.mp.cpu_count()是获得cpu核数,并将最大线程池的数量指定为cpu的核数。

        2.Pool(9)是指的要开启9个进程

        3.Pool.imap()和tqdm相搭配,接收2个参数,第一个参数是要执行的函数,第二个参数代表被执行数据。

        4.tqdm中接受3个参数,第一个参数是pool.imap(),第二个参数total代表的是被执行数据的总条目,第三个参数desc是对进度条的描述。

 2.使用pandarallel

  1. from pandarallel import pandarallel
  2. # Initialization
  3. pandarallel.initialize(progress_bar=True)
  4. # Parallel apply
  5. data["Temp_Target"] = data["Target"].parallel_apply(en_token)

        使用多线程使用en_token 方法对data["Target"]处理,得到的结果赋值给data['Temp_Target']。其中使用 progress_bar=True 会输出进度条来获得每个核的处理进度。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/74850
推荐阅读
相关标签
  

闽ICP备14008679号