微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

While循环内部功能

如何解决While循环内部功能

我正在研究有关超额损失再保险定价的项目,因此我定义了两个功能:第一个功能计算保险人保留的成本:

charge_assureur=[]
def CHARGE(c,d):
    for i in range(0,len(ma_base)):
        if ma_base.iloc[i,2] < d:
            charge_assureur.append(ma_base.iloc[i,2])
        elif ma_base.iloc[i,2] > c:
            charge_assureur.append(ma_base.iloc[i,2]-c)
        else :
            charge_assureur.append(d)
    return(charge_assureur)

其中ma_base一个dataframe,具有827行30列(第二列包含成本,因此输出一个长度为827的列表)。 然后,我定义另一个包含while循环并调用一个函数函数,它是一种二分查找算法,用于寻找保险公司选择的最大优先级。

Portee=10**12
MAX=2*10**7
lengths=[39,125,67,72,88,65,18,93,72]


def Priorite_maximale_dichotomie():
    b=max(sinistre.montant[sinistre.montant>=u])
    a=0
    while (b-a)>1 :
        Priorite=(a+b)/2
        if np.quantile(CHARGE(Portee,Priorite )),.95) > MAX:
            b=Priorite
        else :
            a=Priorite
    return(Priorite)

我的问题是,在函数CHARGE调用函数Priorite_maximale_dichotomie时,它在第二次迭代中返回一个长度为1654的列表,在第三次迭代中返回长度为2481的列表,依此类推。 有人可以帮我解决这个问题吗?通过在第二个函数调用函数CHARGE,我想为每个可能的夫妇(Porte,Priorite)建立一个长度为827的列表。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。