КАК ИСПРАВИТЬ ЭТУ ОШИБКУ Истинное значение Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all () - PullRequest
0 голосов
/ 09 июля 2020

Предположим, у меня есть 2 набора данных db with columns NAME,Ref Amount & sp with columns Name,REFERENCE_2,Amount

Я хочу сейчас проверить, если ссылка в db isin sp, если это правда, он проверяет, совпадают ли суммы, если это правда теперь он возвращает всю строку в db.

b = db["REF_1"].isin(sp["REFERENCE_2"])
for i in range(len(db)):
    if b:
        if db["AMOUNT"] == sp["AMOUNT"]:
            l = db[db["REF_1"].isin(sp["REFERENCE_2"])]
            n = !db[db["REF_1"].isin(sp["REFERENCE_2"])]
        else:
            print("Amounts are different")
    else:
        print("transaction not in suspense")

1 Ответ

0 голосов
/ 09 июля 2020

Проблема связана со следующими двумя строками:

if b:
    if db["AMOUNT"] == sp["AMOUNT"]:

И b, и результат сравнения db["AMOUNT"] == sp["AMOUNT"] относятся к типу `pd.Series ', и серия не может быть используется как логическое значение в if.

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