Dataframes sql проблема в сравнении двух сумм - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу сравнить 2 суммы из моей базы данных sql. Я получаю эту ошибку. ValueError: Значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().

import pandas as pd
import cx_Oracle
from pprint import pprint

connection = cx_Oracle.connect("student_ps", "oracle", "xx.xx.xx.xx.x/oracle")

query="""SELECT nume_client, suma_solicitata, suma_depozit, fidelitate
 FROM t_clienti_leasing where varsta>30 and suma_solicitata>10000"""

df = pd.read_sql(query, con=connection, params=None)
pprint(df)
connection.close()

if(df['SUMA_DEPOZIT'] >= df['SUMA_SOLICITATA']):
    df["FIDELITATE"]=="5"

print(df)

1 Ответ

0 голосов
/ 08 апреля 2020

Это потому, что вы не можете использовать сравнение двух серий в операторе if. Причина в том, что сравнение двух Серий приводит к новой Серии логических значений, указывающих индексы, где были выполнены условия.

Вы должны использовать .lo c вот так:

df.loc[df['SUMA_DEPOZIT'] >= df['SUMA_SOLICITATA'],"FIDELITATE"] = 5

Надеюсь, это помогло вам!

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