Tauschen Sie Werte in den Spalten und Zeilen unter bestimmten Bedingungen aus [Duplikat]
Ich habe einen folgenden Pandas-Datenrahmen:

und ich möchte überprüfen, ob der Wert in der Spalte 'A start'
negativ ist. Wenn negativ als Swap-Werte in Spalte 'start'
und 'end'
und in Spalten 'A start'
und 'A end'
in der Zeile, in der die
'A start'
hat einen negativen Wert. Das Ergebnis sollte also sein:

Ich habe versucht, es mit zu lösen, where
aber es hat nicht funktioniert.
Ich benutze Python 3.8.
Vielen Dank für Ihre Hilfe.
Antworten
Hey schau dir diesen Beitrag an, er ähnelt deiner Frage, es könnte helfen! Wenn nicht, lassen Sie es mich wissen und suchen Sie nach anderen Optionen.
Was ist die richtige Syntax, um Spaltenwerte für ausgewählte Zeilen in einem Pandas-Datenrahmen mit nur einer Zeile auszutauschen?
Hier ist die einfachste Methode where
df = pd.DataFrame()
df['start'] = [1,5,7,2]
df['end'] = [4,6,8,9,]
df['A start'] = [234, -475, -765, 113]
df['A end'] = [-654, 312, 987, -553]
df[['A start','A end']] = df[['A end','A start']].where(df['A start'] < 0 , df[['A start','A end']].values)
df
Ausgabe:
