我试图使用Pandas
创建一些布尔变量,但在尝试使用“and”、“or”求值时出现了这个错误
代码的目的是创建一个布尔“列”,它仅在X['XAlerta'] = 1
和X['# Produtos'] Also = 1
时为真
X['Alerta']
是1
或0
变量,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().
在这样的链中不能有
=
符号只要有圆括号就可以解决你的问题
您需要
&
对于双向and
,|
对于or
,~
对于not
,还要添加()
:相关问题 更多 >
编程相关推荐