Hallo Ich möchte einen Zähler implementieren, der die Anzahl der aufeinanderfolgenden Null Beobachtungen in einem Datenrahmen (über mehrere Spalten) zählt. Aber ich möchte es zurücksetzen, wenn eine Nicht-Null-Beobachtung gefunden wird. Ich habe eine for-Schleife verwendet, aber es ist unglaublich langsam, ich bin mir sicher, dass es viel effizientere Wege geben muss. Dies ist mein Code:Implementieren Sie einen Zähler, der in Python Panda Datenrahmen zurückgesetzt
Hier ist eine Momentaufnahme von df
df.head()
ACL ACT ADH ADR AFE AFH AFT
2013-02-05 NaN NaN NaN NaN NaN NaN NaN
2013-02-12 -0.136861 -0.020406 0.046150 0.000000 -0.005321 NaN 0.058195
2013-02-19 -0.006632 0.041665 0.007365 0.012738 0.040930 NaN -0.037818
2013-02-26 -0.023848 -0.023999 -0.030677 -0.003144 0.050604 NaN -0.047604
2013-03-05 0.009771 -0.024589 -0.021073 -0.039432 0.047315 NaN 0.068727
ich zum ersten Mal einen leeren Datenrahmen initialisieren, die die gleichen Eigenschaften von df (Datenrahmen) über
df1=pd.DataFrame(index= df, columns=df)
df1=df1.fillna(0)
Dann schaffe ich meine Funktion, die über die Zeilen iteriert, aber nur eine Spalte gleichzeitig behandelt
Ich schätze jede Hilfe !!
Der Ausgang i erwarten ist wie folgt:
df1.tail()
BRN AXL TTO AGL ACL
2017-01-03 3 125 0 0 0
2017-01-10 0 126 0 0 0
2017-01-17 1 127 0 0 0
2017-01-24 0 128 0 0 0
2017-01-31 0 129 1 0 0
Was ist Ihre erwartete Ausgabe? – Zero
Hallo John, bitte sehen Sie die erste Frage, ich habe mit dem erwarteten Ergebnis aktualisiert, das ist ein Datenrahmen (DF1) mit dem Zähler-Ausgang – blala82