Variiere die Elemente in einem numpligen Array

8

Ich habe ein Nummernfeld:

%Vor%

Ich möchte ein neues Array, das daraus erstellt wurde, wobei die Elemente, die nicht Null sind, in Nullen umgewandelt werden und die Nullelemente in eine einzige Zahl umgewandelt werden, die der Anzahl der aufeinander folgenden Nullen entspricht:

%Vor%

Suchen Sie nach einem vektorisierten Weg, dies zu tun, da das Array & gt; 1 Million Elemente.  Jede Hilfe sehr geschätzt.

    
tommw 16.10.2013, 23:51
quelle

2 Antworten

8

Dies sollte den Trick machen, es funktioniert ungefähr, indem 1) alle aufeinander folgenden Nullen gefunden und gezählt werden, 2) die Größe des Ausgangsarrays berechnet und mit Nullen initialisiert wird, 3) die Zählungen von Teil 1 in die richtige Reihenfolge gebracht werden Orte.

%Vor%     
Bi Rico 17.10.2013, 00:57
quelle
4

Für etwas Abwechslung:

%Vor%

Hauptsächlich variiert in der Tatsache, dass wir np.unique verwenden können, um die ersten Vorkommen eines Arrays zu finden, solange es monoton ansteigt.

    
Daniel 17.10.2013 01:57
quelle

Tags und Links