Pandas NaN Spalte nach unten füllen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Benutzeravatar
Ant-on-Hu
User
Beiträge: 17
Registriert: Sonntag 18. Juni 2017, 16:21

Hallo,
ich probiere gerade Pandas zur Auswertung von Sensordaten aus und komme mit folgendem Problem schon nicht mehr weiter:
Ich hab 2 Sensoren. Sensor 1 (S1) liefert genau jede Minute einen Wert, Sensor 2 (S2) liefert nur einen Wert, wenn sich der alte Wert geändert hat. Ich hab jetzt also 3 Spalten: Zeit-S1-S2
Bei Zeit und S1 ist in jeder Zeile ein Wert, bei S2 nur in jeder 4. bis 10. Zeile, der Rest ist NaN.
Kann ich in der S2-Spalte die NaN-Zellen mit jeweils dem Vorgängerwert (ist ja tatsächlich auch der Messwert) füllen?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du kannst doch beim befuellen dir jeweils den aktuellsten Zeitstempel merken. Und den dann halt immer eintragen. Ob das gueltig ist vor allem fuer den Sensor, der seine Werte nicht selbst updated, das musst du natuerlich selbst wissen. Ist aber auch bei deinem Ansatz schon ein Problem.
Sirius3
User
Beiträge: 17844
Registriert: Sonntag 21. Oktober 2012, 17:20

Ja, dafür gibt es in pandas sogar extra eine Funktion.

https://pandas.pydata.org/pandas-docs/s ... illna.html
Benutzeravatar
Ant-on-Hu
User
Beiträge: 17
Registriert: Sonntag 18. Juni 2017, 16:21

Hallo danke für die schnelle Antwort! Ich bekomme nur die fertige Tabelle, aber mit der Funktion >>> df.fillna(method='ffill') müsste ich sicherlich weiter kommen! Herzlichen Dank noch mal euch beiden.
Antworten