У меня есть следующий код, использующий распараллеливание с использованием пула с Python. Я передаю большой фрейм данных в метод parallelize_dataframe. Фрейм данных разделяется на 6, потому что это число ядер, которые у меня есть. Я хочу сгруппировать () каждый из 6 мини-фреймов данных, прежде чем применять 'fun c', который является методом add_features. Любые предложения о том, как использовать groupby () с 6 мини-фреймами данных?
def add_features(x):
return len(x.index) # the function doesn't matter, just an example
def parallelize_dataframe(df,func,n_cores=6):
df_split = np.array_split(df,n_cores)
pool = Pool(n_cores)
df_new = pd.concat(pool.map(func,map(pd.groupby(),df_split)))
pool.close()
pool.join()
return df_new
train = parallelize_dataframe(master_three,add_features)