вычислить abs из дельты между значениями в 2 столбцах в dataframe с помощью лямбда-функции

#python-3.x

#python-3.x

Вопрос:

У меня есть таблица фреймов данных. Необходимо вычислить abs из дельты между столбцами ‘price’ и ‘pbeach’ и добавить результирующий новый столбец как ‘pdiff’ в этот фрейм данных. Должно быть выполнено с использованием лямбда-функции. Вот что я делаю (dat — мой dataframe:

 f = lambda x,y: np.abs(x - y)
dat['pdiff'] = dat.loc[:, ['price', 'pbeach']].apply(f, axis = 1)
  

Что не так?

 f = lambda x,y: np.abs(x - y)
dat['pdiff'] = dat.loc[:, ['price', 'pbeach']].apply(f, axis = 1)
  

Ответ №1:

Попробуйте:

 df['diff'] = df.apply(lambda x: np.abs(x['price'] - x['pbeach']), axis=1)