Как в pandas обработать значения в столбце

Есть датафрейм df со столбцом 'employed'. В нем есть аномалии, значения которых более 30000. Я хочу их разделить на 24. Есть отрицательные значения, хочу их умножить на минус 1. Вот пример моего кода, помогите исправить ошибку:

def anomaly_change(meaning):
if meaning > 30000:
    return meaning / 24
elif meaning < 0:
    return meaning * (-1)
else:
    return meaning
    
df = df.apply(lambda x: anomaly_change(x['employed'],axis=1)

Ответы (2 шт):

Автор решения: D.Vinogradov

У вас axis=1 прописан в функции, хотя должен быть в apply, добавьте одну скобку и сработает :)

df = df.apply(lambda x: anomaly_change(x['employed']), axis=1)

плюс есть вариант не писать функцию и сделать все через np.where:

df['new_col'] = np.where(df['employed] > 30000, df['employed'] / 24, (np.where(df['employed'] < 0, df['employed'] * (-1), df['employed'])))
→ Ссылка
Автор решения: SergFSM

не на чем протестировать, но, в принципе, вот такая простенькая функция должна сработать:

df['employed'] = df['employed'].map(lambda x: x/24 if x>30000 else -x if x<0 else x)
→ Ссылка