Ich habe Probleme damit, so dass jeder Eingang geschätzt wird. Ich möchte über die Werte in einer Datenrahmenspalte iterieren und die erste Instanz zurückgeben, wenn ein Wert jeden Tag angezeigt wird. Groupby sah dafür eine gute Option aus, aber wenn df.groupby(grouper).first()
mit grouper
täglich verwendet wird, wird die folgende Ausgabe angezeigt.Pandas: Finden Sie das erste Vorkommen - auf täglicher Basis in einer Zeitreihe
In [95]:
df.groupby(grouper).first()
Out[95]:
test_1
2014-03-04 1.0
2014-03-05 1.0
Dies ist nur der Tag der Wert geben in Test gesehen wurde _1 und nicht Reseting die erste() auf einer täglichen Basis, das ist das, was ich brauche (gewünschte Ausgangs siehe unten).
Ich möchte die Zeit bewahren dieser Wert im folgenden Format zu sehen war:
Dies ist der Eingang Datenrahmen:
test_1
2014-03-04 09:00:00 NaN
2014-03-04 10:00:00 NaN
2014-03-04 11:00:00 NaN
2014-03-04 12:00:00 NaN
2014-03-04 13:00:00 NaN
2014-03-04 14:00:00 1.0
2014-03-04 15:00:00 NaN
2014-03-04 16:00:00 1.0
2014-03-05 09:00:00 1.0
Dies ist die gewünschte Ausgabe:
test_1 test_output
2014-03-04 09:00:00 NaN NaN
2014-03-04 10:00:00 NaN NaN
2014-03-04 11:00:00 NaN NaN
2014-03-04 12:00:00 NaN NaN
2014-03-04 13:00:00 NaN NaN
2014-03-04 14:00:00 1.0 1.0
2014-03-04 15:00:00 NaN NaN
2014-03-04 16:00:00 1.0 NaN
2014-03-05 09:00:00 1.0 NaN
I Ich möchte nur den Zeitpunkt angeben, an dem ein Ereignis in einer neuen Spalte mit dem Namen test_output auftritt.
Administratoren. Bitte beachten Sie, dass sich diese Frage von den anderen als Duplikat unterscheidet, da dies ein Rolling des ersten Tages erfordert.
Mögliches Duplikat [Ignore np.where nach dem ersten Spiel für Pandas Zeitreihendaten] (http://stackoverflow.com/questions/38183182/ignore-np-where-after-first-match-for-pandas-time-series-data) – shivsn