Python Если x == True, а если y == False, тогда начать массив true - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть два кадра данных.

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

Я хочу поместить True в новый массив с именем PeerNoCo, если PPASboolправда, а CPAS - ложь.

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

1 Ответ

0 голосов
/ 20 ноября 2018

2 вещи:

  1. вам не нужно говорить == True.Если автоматически проверяет условие.Если вы хотите, чтобы переменная temp была True, вы можете просто сделать if temp:

  2. Вы пытаетесь создать условие для ряда.Вы можете перебирать свои значения.Если вы хотите сохранить индексы, вы можете использовать enumerate().

РЕДАКТИРОВАТЬ:

Как уже упоминалось в одном из ваших комментариев, самый простой способ достичь того, что вы хотите, это просто сохранить PPASbool & ~CPAS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...