Code: Select all
df['Age'] = df['Age'].apply(lambda x : x+100 if x>30 else 0)Code: Select all
df[['Age', 'Salary']] = df[['Age', 'Salary']].apply(lambda x : x+100)Code: Select all
df[['Age', 'Salary']] = df[['Age', 'Salary']].apply(lambda x : x+100 if x>30 else 0)ValueError: Der Wahrheitswert einer Serie ist nicht eindeutig. Verwenden Sie a.empty, a.bool(), a.item(), a.any() oder a.all().
Wie kann ich also die Spalten „Alter“, „Gehalt“ und „n“ ändern, indem ich unabhängig voneinander die gleiche if else- oder andere Lambda-Bedingung auf jede Spalte anwende?
Ich kenne zwei mögliche Lösungen:
- So verwenden Sie ein for, um jede Spalte aufzurufen:
Code: Select all
cols = ['Age', 'Salary'] for i in cols: df[i] = df[i].apply(lambda x : x+100 if x>30 else 0)- So verwenden Sie die Anwendung für jede Spalte:
Code: Select all
df['Age'] = df['Age'].apply(lambda x : x+100 if x>30 else 0) df['Salary'] = df['Salary'].apply(lambda x : x+100 if x>30 else 0)
Mobile version