2017-06-19 3 views
1
from multiprocessing import Pool 

with Pool(processes=6) as p: 
    p.starmap(update_tabl, zip(r)) 

Ich bin mit dem Ansatz hier skizziert: http://n-s-f.github.io/2016/12/23/starmap-pattern.html parallelisieren Aufruf einer Funktion update_table, die einen Datenrahmen als Ausgabe zurück.Kombinieren Datenrahmen zurück aus Python Multi-Prozess-Aufruffunktion

Wie kann ich all diese Datenrahmen verketten? Ich konnte pd.concat verwenden, wenn ich eine for-Schleife wurden aber nicht sicher, wie es zu tun parallel

Antwort

2

Sie können sich auf das Ergebnis der Starmap die concat tun:

with Pool(processes=6) as p: 
    res = pd.concat(p.starmap(update_table, zip(rows))) 
# do stuff with res 

Die Concat nicht passieren wird, in parallel, aber sobald die Sternenkarte fertig ist.

+0

danke @Andy! das ist sehr sehr nützlich – user308827

Verwandte Themen