Pandas在尝试使用and或statemen时出错

2024-09-30 08:15:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用Pandas创建一些布尔变量,但在尝试使用“and”、“or”求值时出现了这个错误

代码的目的是创建一个布尔“列”,它仅在X['XAlerta'] = 1X['# Produtos'] Also = 1时为真

X['Alerta']10变量,X['# Produtos']是整数

这是我的密码:

X['Possui_Apenas_Alerta'] = X['XAlerta'] == 1 and X['# Produtos'] == 1

这就是错误:

ValueError                                Traceback (most recent call last)
<ipython-input-56-1e64f0aae21c> in <module>()
 56 X['Flag_Menos_1_Produto'] = X['# Produtos'] <= 1
 57 X['Flag_Mais_3_Produtos'] = X['# Produtos'] >= 3
---> 58 X['Possui_Apenas_Alerta'] = X['XAlerta'] == 1 and X['# Produtos'] == 1
 59 X['Possui_Apenas_Desemprego'] = X['XSeguroDesemprego'] == 1 and X['# Produtos'] == 1
 60 X['Possui_Alerta_Perda_Anuaide'] = X['XSeguroPerdaRoubo'] == 1 and X['XAlerta'] == 1 and X['XRecargaAnuidadeBonificada'] == 1

C:\Users\foray\Anaconda3\lib\site-packages\pandas\core\generic.py in __nonzero__(self)
915         raise ValueError("The truth value of a {0} is ambiguous. "
916                          "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 917                          .format(self.__class__.__name__))
918 
919     __bool__ = __nonzero__

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

Tags: orandtheinself错误flagbool
2条回答

在这样的链中不能有=符号

X['Possui_Apenas_Alerta'] = (X['XAlerta'] == 1 and X['# Produtos'] == 1)

只要有圆括号就可以解决你的问题

您需要&对于双向and|对于or~对于not,还要添加()

X['Possui_Apenas_Alerta'] = (X['XAlerta'] == 1) & (X['# Produtos'] == 1)

相关问题 更多 >

    热门问题