Ausgabe
Ich habe einen Datenrahmen:
df =
col1 col2 col3
1 2 3
1 4 6
3 7 2
Ich möchte so bearbeiten df
, dass, wenn der Wert von col1 kleiner als 2 ist, der Wert von genommen wird col3
.
Also bekomme ich:
new_df =
col1 col2 col3
3 2 3
6 4 6
3 7 2
Ich habe versucht, und zu verwenden assign
, df.loc
aber es hat nicht funktioniert.
Was ist der beste Weg, dies zu tun?
Lösung
df['col1'] = df.apply(lambda x: x['col3'] if x['col1'] < x['col2'] else x['col1'], axis=1)
Beantwortet von – Eric Yang
Antwort geprüft von – Candace Johnson (FixError Volunteer)