from joblib import Parallel, delayed
import multiprocessing
topk = 3
def merge_df(name, each_df):
is_chat_pre_list = ([1 for i in range(topk)] + [0 for i in range(len(each_df))])[:len(each_df)]
each_df['is_chat_pre'] = is_chat_pre_list
return each_df
def applyParallel(groups_df, func):
ret = Parallel(n_jobs=multiprocessing.cpu_count())(delayed(func)(name, group) for name, group in groups_df)
return pd.concat(ret)
result_df = applyParallel(df_test.groupby(['p_calluid', 'click_type', 'ordern', 'key']), merge_df)
python多线程
最新推荐文章于 2024-05-28 10:37:04 发布