pandas If- Else条件出现问题,如何解决?

6tdlim6h  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(99)

问题是,我希望代码在“Recordinaciones”的值〉1时显示图形,而在〈1时显示“No hay Recordinaciones Dobles”,但我遇到了一些奇怪的问题。希望有人能帮助我!问题是:
Series的真值不明确。请使用.empty、.bool()、.item()、.any()或.all()。
下面是代码:

import pandas as pd

doc = input('Ingresa el nombre del archivo: ')
print(f'Ingresaste {doc}')

df=pd.read_excel(doc+'.xlsx')
df['Recordinaciones'] = df.apply(lambda _: '', axis=1)
df['Cantidad'] = df.apply(lambda _: '', axis=1)

rcs=df[['Cliente','# Externo','Recordinaciones']].groupby(['Cliente','# Externo']).count().reset_index().sort_values(['Recordinaciones'],ascending=False)

Recoordinaciones = rcs['Recordinaciones']  
if Recoordinaciones > 1:                        # Pregunto si x es mayor a 1
    print(rcs[(rcs['Recordinaciones'] > 1)])    
else:
  print( "No hay Recorinaciones Dobles")            # cumple, ejecuto esto

错误信息

输入档案编号:测试2月Ingresaste测试2月

值11中的错误跟踪(最近调用最后)12 Recordinaciones = rcs ['Recordinaciones'] ---〉13如果Recordinaciones〉1:#在六个月前,必须打印114份(rcs[(rcs ['Recordinaciones']〉1)])15份,否则:
/usr/local/lib/python3.7/dist-packages/pandas/core/generic.py在非零(自身)1536定义非零(自身)中:1537 raise ValueError(-〉1538 f“一个{type(self).name}的真值是二义性的。“1539“使用.empty、.bool()、.item()、.any()或.all()。”1540)
ValueError:序列的真值不明确。请使用.empty、.bool()、.item()、.any()或.all()。

z9ju0rcb

z9ju0rcb1#

试试这个:

Recoordinaciones = rcs.loc[rcs['Recordinaciones'] > 1]['Recordinaciones'].tolist()

if len(Recoordinaciones) == 0:
    print('no values >1')
else:
    for r in Recoordinaciones: 
        print(r)

基本上,loc函数接收具有布尔结果的条件,并 * 定位 * 满足该条件的行。

相关问题