首页 > 解决方案 > 比较两个总和的Dataframes sql问题

问题描述

我想比较我的 sql 数据库中的 2 个总和。我收到此错误。ValueError:Series 的真值不明确。使用 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)

标签: pythonsqlpandasdataframe

解决方案


这是因为您不能在 if 语句中使用两个系列的比较。原因是比较两个系列会产生一个新的布尔系列,指示满足条件的索引。

您应该像这样使用 .loc :

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

希望对你有所帮助!


推荐阅读