Ich versuche, einen Wert in einer Pandas-Datenframezeile zu finden und eine neue Spalte zu erstellen, die hervorhebt, ob die nächste Zeile übereinstimmt. So für das folgende Beispiel:Wert in Datenframezeile suchen - neue Spalte erstellen Hervorhebung nächste Zeilenübereinstimmung
rng = pd.DataFrame({'test_1': ['A', 'A','A', 'A', 'B','B', 'A' , 'A', 'A', 'A','A' , 'A', 'A', 'A',]}, index = pd.date_range('4/2/2014', periods=14, freq='BH'))
reg
Die Zeilen == B auf 2014.04.02 13.00.00 und 14.00.00 2014.04.02 so gibt es eine Übereinstimmung:
test_1
2014-04-02 09:00:00 A
2014-04-02 10:00:00 A
2014-04-02 11:00:00 A
2014-04-02 12:00:00 A
2014-04-02 13:00:00 B
2014-04-02 14:00:00 B
2014-04-02 15:00:00 A
2014-04-02 16:00:00 A
2014-04-03 09:00:00 A
2014-04-03 10:00:00 A
2014-04-03 11:00:00 C
2014-04-03 12:00:00 A
2014-04-03 13:00:00 D
2014-04-03 14:00:00 D
so die neue Spalte sollte wie folgt lauten:
B_Matches
2014-04-02 09:00:00 0
2014-04-02 10:00:00 0
2014-04-02 11:00:00 0
2014-04-02 12:00:00 0
2014-04-02 13:00:00 0
2014-04-02 14:00:00 1
2014-04-02 15:00:00 0
2014-04-02 16:00:00 0
2014-04-03 09:00:00 0
2014-04-03 10:00:00 0
2014-04-03 11:00:00 0
2014-04-03 12:00:00 0
2014-04-03 13:00:00 0
2014-04-03 14:00:00 0
ich werde dann das gleiche für C, D usw. in anderen Spalten tun. Ich versuche im Grunde, Zeiten zu finden, in denen eine bestimmte Bedingung zu sehen ist, und die nächste Periode ist dieselbe und ich werde eine Zählung() in dieser Spalte machen, um zu sehen, wie oft die nächste Periode zusammenpasst. Bitte zeigen Sie auch andere Möglichkeiten, dies zu tun.
Danke für jede Hilfe.
Das ist perfekt, danke nochmal EdChum. Ich werde dies über verschiedene df Spalten so leicht modifiziert zu 'def func_match (df_in, val): Rückkehr ((df_in == val) & (df_in.shift() == val)). Astype (int)'. – ade1e