【发布时间】:2021-12-12 21:28:15
【问题描述】:
我正在尝试将 float64 值转换为预测模型的二进制变量。有了它,如果价格 >= 152.00,我打算将其分配为 1,否则为 0。但我收到此错误: 得到错误 Series 的真值是模棱两可的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
我很困惑,因为我读到的所有内容都说要修复问题,我应该使用按位运算符而不是 AND 和 OR。但我没有使用那些。有什么想法可以解决吗?
if df_full_train['price'] >= 152.00:
df_full_train['above_average'] =1
else:
df_full_train['above_average'] =0
【问题讨论】:
-
您在
if中使用系列,这与 OR/AND 一样“糟糕”。他们都期望一个简单的真/假。他们无法处理 Series 测试的多值 True/False。您显然想要进行某种迭代测试,为每一行做出选择,一次一个。