Введенные пользователем значения должны быть частью функции для изменения значений в столбце фрейма данных?

#python

#питон

Вопрос:

Ранее в коде я заставлял пользователя вводить два значения, называемые PosCtrl и NegCtrl. Я хочу использовать эти значения в функции, применяемой к столбцу в фрейме данных.

У меня есть фрейм данных (RawStacked) из двух столбцов: number и cell_value. Я хочу преобразовать этот необработанный фрейм данных в другой фрейм данных (NormStacked), в котором значения в столбце cell_value нормализуются с использованием введенных пользователем значений. Уравнение нормализации:

     x - NegCtrl
------------------- x 100
 PosCtrl - NegCtrl
 

Я попробовал это:

 NormStacked = RawStacked.apply(lambda x: ((x - NegCtrl)/(PosCtrl - NegCtrl)*100))
 

Но это не работает. Что я делаю не так?

Я думаю, что синтаксис математики неправильный или что-то в этом роде, но я не знаю как. Я проверил более простое уравнение, чтобы посмотреть, работает ли оно, и оно сработало:

 NormStacked = RawStacked.apply(lambda x: (x   1))
 

Это работает отлично, но это не то уравнение, которое я хочу использовать для преобразования моего фрейма данных.

Ответ №1:

Вы пытаетесь применить формулу ко всему фрейму данных. Примените его к определенному столбцу.

NormStacked = RawStacked[‘cell_value’].apply(лямбда x: ((x — NegCtrl)/(PosCtrl — NegCtrl)*100))