首页 > 解决方案 > 如果 Pandas 数据框中的两个布尔值为真,如何替换元素

问题描述

我正在尝试完成以下任务:

Y_Pred[Y_Pred < 0.99 and Y_Pred > 0.98] = 1
Y_Pred[Y_Pred <=0.98 or Y_Pred >= 0.99] = 0

但是 theand和 theor不正确?

标签: pythonpandas

解决方案


您应该使用按位运算|and&而不是andand or。此外,您可以np.where像这样使用:

Y_Pred = np.where((Y_Pred < 0.99) & (Y_Pred > 0.98),1,0)

要不就:

Y_Pred = ((Y_Pred < 0.99) & (Y_Pred > 0.98)).astype(int)

推荐阅读