Ich habe einen großen Datensatz (> 200k) und ich versuche Nullsequenzen durch einen Wert zu ersetzen. Eine Nullsequenz mit mehr als 2 Nullen ist ein Artefakt und sollte entfernt werden, indem man sie auf np.NAN setzt.Ersetzen Sie eine Null-Sequenz durch einen anderen Wert
Ich habe Searching a sequence in a NumPy array gelesen, aber es hat meine Anforderung nicht vollständig erfüllt, da ich kein statisches Muster habe.
np.array([0, 1.0, 0, 0, -6.0, 13.0, 0, 0, 0, 1.0, 16.0, 0, 0, 0, 0, 1.0, 1.0, 1.0, 1.0])
# should be converted to this
np.array([0, 1.0, 0, 0, -6.0, 13.0, NaN, NaN, NaN, 1.0, 16.0, NaN, NaN, NaN, NaN, 1.0, 1.0, 1.0, 1.0])
Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen. Vielen Dank im Voraus!
Ergebnisse:
divakar took 0.016000ms to replace 87912 points
desiato took 0.076000ms to replace 87912 points
polarise took 0.102000ms to replace 87912 points
Als @ Divakar Lösung
Danke für die Antworten, hier sind auf 288.240 Punkte my (unprofessionell) Testergebnisse läuft die kürzeste und schnellste ich seine einzige akzeptieren.
Funktioniert wie ein Charme - danke! – ppasler
@ppasler Wären Sie so freundlich, uns mitzuteilen, wie die aufgeführten Ansätze in Bezug auf die Laufzeit auf Ihrem großen Dataset (> 200 KB) funktionieren? – Divakar
Sicher, siehe die Ergebnisse nach der Frage – ppasler