大熊猫:在列上计算一个多变量函数/模型

时间:2018-11-20 08:41:39

标签: python pandas dataframe

我有一个3列的数据框:P,L,Zm和数千行

,我想在每一行上计算'Z'和'erreur'并将结果存储在两列中。所以我写了这个函数,困难是系数随P的值而变化,而我(或者不知道如何)做“面向系列”函数

def modele_p(P,L,Zm):    

    if np.logical_and(P>=4.0 , P<4.5):
        coef_L = modele_p[4.0][0]
        cst    = modele_p[4.0][1]
    elif np.logical_and(P>=5.0 , P<5.5):
        coef_L = modele_p[5.0][0]
        cst    = modele_p[5.0][1]
    elif np.logical_and(P>=5.5 , P<6.0): 
        coef_L = modele_p[5.5][0]
        cst    = modele_p[5.5][1]
    else:
        coef_L = 0
        cst    = 0

    Z = coef_L * L + cst
    erreur = (Z-Zm)/Zm*100  

    return (Z,erreur)           

我没有找到正确的方法,但尝试了肮脏的方法:

for i in range(len(df)):
    df['Z'][i],df['erreur'][i] =  calcul_Z_modele_p(df['P'][i],
                                                    df['L'][i],
                                                    df['Zm'][i])

但是太长了,你能帮我按正确的方式做吗? 谢谢

0 个答案:

没有答案