Панды: вычислить многопеременную функцию / модель по столбцам - PullRequest
0 голосов
/ 20 ноября 2018

Я получил 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])

Но это слишком долго, не могли бы вы помочь мне сделать это правильно?Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...