by Anonymous » 14 Feb 2025, 08:00
Ich habe eine Funktion f (df, x) wobei df ein großer Datenrahmen ist und X eine einfache Variable ist. Die Funktion f wird nur aus df gelesen und ändert sie nicht. Ist es möglich, den Speicher von df zu teilen und ihn bei Verwendung von joBlib.Parallel oder einem anderen Multiprocessing -Modul nicht in Unterprozesse zu kopieren?
[*] Ich möchte vermeiden, dass ich df < /code> in eine globale Variable verwandelt würde, da ich den Code wiederverwenden möchte, um andere Daten zu verarbeiten. < /li>
es ist Nicht möglich, df in Numpy -Array umzuwandeln, da F Daten unter Verwendung des Index von df .
Bearbeiten:
Wird df in Subprozess kopiert, während sie im folgenden Code parallel ausführt?
Code: Select all
def g(df):
def f(x):
nonlocal df
...
return z
list_res = Parallel(10)(delayed(f)(x) for x in iterables)
return list_res
Ich habe eine Funktion f (df, x) wobei df ein großer Datenrahmen ist und X eine einfache Variable ist. Die Funktion f wird nur aus df gelesen und ändert sie nicht. Ist es möglich, den Speicher von df zu teilen und ihn bei Verwendung von joBlib.Parallel oder einem anderen Multiprocessing -Modul nicht in Unterprozesse zu kopieren?
[*] Ich möchte vermeiden, dass ich df < /code> in eine globale Variable verwandelt würde, da ich den Code wiederverwenden möchte, um andere Daten zu verarbeiten. < /li>
es ist Nicht möglich, df in Numpy -Array umzuwandeln, da F Daten unter Verwendung des Index von df .
Bearbeiten:
Wird df in Subprozess kopiert, während sie im folgenden Code parallel ausführt?
[code]def g(df):
def f(x):
nonlocal df
...
return z
list_res = Parallel(10)(delayed(f)(x) for x in iterables)
return list_res
[/code]