довольно плохо знаком с Python
, и я пытаюсь создать вычисляемый столбец на моем DataFrame
, используя функцию If.
Я пытался использовать поля, на которые прямо ссылаются из DataFrame
, а также назначать их переменным и преобразовывать их в серии (как показано в моем коде ниже):
f4 = (DataFrame извлечен из моей базы данных Postgres с использованием pscyopg2 и SQL-запроса) (379, 7)
n = f4['id']
wv = f4['watermark_value']
anet = f4['a_net_revenue']
bnet = f4['b_net_revenue']
def adj_calc():
return anet-bnet-wv if bnet-wv<0 else bnet-wv
f4['watermark_adj'] = adj_calc()
Я получаю следующую ошибку:
«ValueError: Значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().»
Благодаря моим исследованиям я обнаружил, что вы можете столкнуться с проблемами в Pandas при попытке выполнить вычисления непосредственно из DataFrame
, но мне трудно найти решение или информацию о том, какой тип данных мне следует использовать. используйте вместо
По сути, я пытаюсь создать вычисляемый столбец в файле данных f4, который следует логике выше.
Спасибо!