Parallele Python-Iteration

8

Ich möchte eine Reihe von Instanzen einer Klasse basierend auf Werten in pandas.DataFrame erstellen. Das habe ich runter.

%Vor%

Multiprocessing-Versuche

Ich war in der Lage, dies (in gewisser Weise) zu parallelisieren, indem ich folgendes hinzufüge:

%Vor%

Es scheint, dass dies schneller wäre, wenn die Zahlen in row['number'] wesentlich länger sind als die Länge von table . Aber in meinem tatsächlichen Fall ist table Tausende von Zeilen lang, und jeder row['number'] ist relativ klein.

Es scheint schlauer zu sein, table in cpu_count() Chunks zu zerlegen und in der Tabelle zu iterieren. Aber jetzt sind wir am Rande meiner Python-Fähigkeiten.

Ich habe Dinge ausprobiert, für die mich der Python-Interpreter anschreien mag:

%Vor%

Auch Dinge, die "nicht eingelegt werden können"

%Vor%

Bearbeiten

Das könnte mich ein bisschen näher bringen, aber immer noch nicht da. Ich erstelle die Klasseninstanzen in einer separaten Funktion,

%Vor%

Aber mir wurde gesagt, dass das Objekt 'NoneType' nicht iterierbar ist.

    
gregmacfarlane 09.06.2015, 19:24
quelle

1 Antwort

1

Es ist mir etwas unklar, was die Ausgabe ist, die Sie erwarten. Willst du nur eine große Liste des Formulars

? %Vor%

wo jedes Toy(row_i) mit der Multiplizität row_i.number ?

erscheint

Basierend auf der von @JD Long erwähnten Antwort: Ich denke, Sie könnten so etwas tun:

%Vor%     
maxymoo 10.06.2015, 01:35
quelle