Tauschen Sie Werte in den Spalten und Zeilen unter bestimmten Bedingungen aus [Duplikat]

Dec 03 2020

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, whereaber es hat nicht funktioniert.

Ich benutze Python 3.8.

Vielen Dank für Ihre Hilfe.

Antworten

AasthaSethia Dec 03 2020 at 20:37

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?

kirtipurohit Dec 03 2020 at 20:42

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: