【python | 您所在的位置:网站首页 › pandas效率不高 › 【python |
import numpy as np
import pandas as pd
import concurrent.futures
from concurrent.futures import ThreadPoolExecutor # 线程池
'''注意 此处每个funcs的返回值博主自己都是DataFrame,具体情况可自己设置'''
# fun是自己的函数名,注意不带括号,args是自己入的参数,函数需要几个就入几个
funcs = [(fun,args),
(fun,args)]
def List_ThreadPool(funcs, n)
线程池
list_df = ['' for i in range(len(rpt_funcs))] # 空集
funcs =[f[0] for f in funcs]
args = [a[1] for a in funcs]
with ThreadPoolExecutor(n) as executor: # 获取预存的线程池
# 组装执行列表
results = [executor.submit(func, arg) for func , arg in zip(funcs, args)]
for i,f in enumerate(concurrent.futures.as_completed(results)):
list_df = f.result()
return list_df
list_df = List_ThreadPool(funcs, n=12)
#此次n为设置的线程池中预存的线程个数,这个需要实际的环境来定 博主的i9足够满足-。- 此时可以同时跑多个我们自己需要的函数 需要的伙伴们可以根据自己的实际情况改动中间的参数 设置形式 还是可以设置时间出了线程池还有进程池,后面抽空再写了 |
CopyRight 2018-2019 实验室设备网 版权所有 |