在使用pandas的时候,经常会用到groupby这个函数来对数据进行分组统计,同时可以使用 apply函数很方便的对分组之后的数据进行处理。def data_process(x): # process return ...result = df.groupby('user_id').apply(data_process)使用joblib进行加速但是如果数据非常多的时候(比如几千万条数据),运行的效率是比较低的,因为这个时候只使用了一个CPU线程,所以当数据非常多的时候,处理起来会很慢。这个时候CPU其他的核是空闲的,所以考虑使用joblib来多线程加速。from joblib import Parallel, delayeddef data_process(x): # process return ...def applyParallel(dfGrouped, func): res = Parallel(n_jobs=4)(delayed(func)(group) for name, group in dfGrouped) return pd.concat(res)result = applyParallel(df.groupby('user_id'), data_process)使用pandarallel
………………………………