Pandas dataframe - Wert aus vorhergehender Zeile kopieren
Verfasst: Mittwoch 5. Dezember 2018, 16:23
Hallo,
Ich habe einen Pandas Dataframe und möchte gerne unter bestimmten Bedingungen den Wert der vorhergehenden Zeile verwenden und Ihn als neuen Wert setzen.
Ich vermute mal mein Ansatz mit "shift" ist nicht der Richtige. Es wäre klasse wenn mir jemand von euch etwas unter die Arme greifen könnte.
Danke!
Ausgabe:
Ich habe einen Pandas Dataframe und möchte gerne unter bestimmten Bedingungen den Wert der vorhergehenden Zeile verwenden und Ihn als neuen Wert setzen.
Ich vermute mal mein Ansatz mit "shift" ist nicht der Richtige. Es wäre klasse wenn mir jemand von euch etwas unter die Arme greifen könnte.
Danke!
Code: Alles auswählen
import pandas as pd
df = pd.DataFrame({"A":[1,1,1,2,2,2,1,1,1],"B":[2,5,12,1,1,1,18,2,2]})
df["C"] = df["B"]
df.loc[df.A < df.B, "C"] = df["C"].shift(1)
Code: Alles auswählen
A B C
0 1 2 NaN
1 1 5 2.0
2 1 12 5.0 #hier sollte 2.0 stehen weil ja in der vorhergehenden Zeile 2.0 stand
3 2 1 1.0
4 2 1 1.0
5 2 1 1.0
6 1 18 1.0
7 1 2 18.0 # hier sollte 1.0 stehen weil ja in der vorhergehenden Zeile 1.0 stand
8 1 2 2.0 # hier sollte 1.0 stehen