Python如果x == True,并且如果y == False,则启动数组true

时间:2018-11-20 19:04:03

标签: python python-3.x pandas numpy

我有两个数据框。

PPASbool=
0   True
1   True
2   False
3   True
4   False

CPASbool=
0   True
1   False
2   False
3   False
4   True

我在下面尝试过此操作,但收到错误

 File "Typology.py", line 66, in <module>
    if PPASbool==True :
  File "C:\Users\Jim\Anaconda3\lib\site-packages\pandas\core\generic.py", 
line 1573, in __nonzero__
    .format(self.__class__.__name__))
 ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

if PPASbool==True :
    if CPASbool == False :
        PeerNoCo=True
    else:
        PeerNoCo=False
else:
    PeerNoCo=False

如果PPASbool为true而CPAS为False,我想将True放入名为PeerNoCo的新数组中。

Expected output
PeerNoCo=
0   False
1   True
2   False
3   True
4   False

1 个答案:

答案 0 :(得分:1)

2件事:

  1. 您不必说== True。如果是自动测试条件。如果要以变量tempTrue为条件,则只需执行if temp:

  2. 您正在尝试对系列进行条件拍摄。您可以遍历自己的价值观。如果要维护索引,可以使用enumerate()

编辑:

正如您的评论中提到的那样,实现所需目标的最简单方法就是存储PPASbool & ~CPAS