python多线程

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)

你可能感兴趣的:(算法)