Gibt es eine elegante Möglichkeit, mein ndarray zu manipulieren?

8

Ich habe eine Matrix namens xs :

%Vor%

Nun möchte ich die Nullen durch das nächste vorhergehende Element in derselben Zeile ersetzen (vorausgesetzt, dass die erste Spalte ungleich Null sein muss). Die grobe Lösung wie folgt:

%Vor%

Jede Hilfe wird sehr geschätzt.

    
Eastsun 18.06.2013, 08:26
quelle

3 Antworten

2

Wenn Sie Pandas verwenden können, replace zeigt die Ersetzung explizit in einer Anweisung an:

%Vor%     
Boud 18.06.2013, 08:56
quelle
1

Meine Version, basierend auf schrittweisem Rolling und Maskierung des initialen Arrays, keine zusätzlichen Bibliotheken erforderlich (außer numpy):

%Vor%     
Alexander Mihailov 18.06.2013 08:51
quelle
0

Ohne mit komplizierten Indexierungstricks, die aufeinanderfolgende Nullen aufspüren, verrückt zu werden, könnten Sie eine while -Schleife haben, die so viele Iterationen umfasst wie aufeinanderfolgende Nullen in Ihrem Array:

%Vor%     
Jaime 18.06.2013 13:35
quelle