Procesamiento paralelo de marco de datos de pandas grandes
Estoy accediendo a un marco de datos de Pandas muy grande como una variable global. Se accede a esta variable en paralelo a través debolsa de trabajo.
P.ej.
df = db.query("select id, a_lot_of_data from table")
def process(id):
temp_df = df.loc[id]
temp_df.apply(another_function)
Parallel(n_jobs=8)(delayed(process)(id) for id in df['id'].to_list())
Acceder al df original de esta manera parece copiar los datos a través de los procesos. ¿Esto es inesperado ya que el df original no se modifica en ninguno de los subprocesos? (¿O es eso?)