Код: Выделить всё
df['Age'] = df['Age'].apply(lambda x : x+100 if x>30 else 0)Код: Выделить всё
df[['Age', 'Salary']] = df[['Age', 'Salary']].apply(lambda x : x+100)Код: Выделить всё
df[['Age', 'Salary']] = df[['Age', 'Salary']].apply(lambda x : x+100 if x>30 else 0)ValueError: истинное значение серии неоднозначно. Используйте a.empty, a.bool(), a.item(), a.any() или a.all().
Итак, как я могу изменить столбцы Age, Salary и n, применяя то же самое if else или другое лямбда-условие к каждому столбцу независимо?
Я знаю два возможных решения:
- Использовать for для вызова каждого столбца:
Код: Выделить всё
cols = ['Age', 'Salary'] for i in cols: df[i] = df[i].apply(lambda x : x+100 if x>30 else 0)- Чтобы использовать команду «Применить» для каждого столбца:
Код: Выделить всё
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)Подробнее здесь: https://stackoverflow.com/questions/798 ... aframe-col
Мобильная версия