小白一一 2022-05-24 13:32 采纳率: 75%
浏览 33
已结题

用python实现当金额小于0时,其绝对值大于上一条同id正值金额,返回异常

用python实现当金额小于0时,其绝对值大于上一条同id正值金额,返回异常,否则正常

img

  • 写回答

2条回答 默认 最新

  • 关注

    参考代码如下:

    import pandas as pd
    
    df=pd.DataFrame({
        'ID':['aaa','bbb','bbb','aaa'],
        '金额':[500,200,-300,-200]
    })
    
    dic = {}
    def fun(d):
        if d['ID'] in dic and d['金额']<0 and abs(d['金额']) > dic[d['ID']]:
            r = '异常'
        else:
            r = '正常'
        if d['金额']>0:
            dic[d['ID']] = d['金额']
        return r
    
    df['输出']=df.apply(fun,axis=1)
    print(df)  
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月24日
  • 创建了问题 5月24日