Я пытаюсь применить простую функцию к кадру данных pandas. Я хочу, чтобы достичь переменную «мишень», по формуле, определенной в «my_res», и добавить его в dataframeapply function pandas dataframe
import pandas as pd
df = pd.DataFrame({'ID':['1','2','3'], 'v1': [0,2,3], 'v2':[1,4,5], 'v3':[11,43,52]})
print df
def my_res (x,y,z):
target=(x*z)/y
return target
df['target'] = df.apply(my_res('v1','v2','v3'),axis=1)
print df
и что если бы я имел формулу так:
def my_res (x,y,z):
target=(x*z)/y
check=target-z
return target
#in this case I want to create 2 variable in the df
спасибо, я добавил подробно обобщение на мой вопрос – progster
Конечно, вы можете использовать 'ф.р. [ 'цель'] = df.v1.mul (df.v3) .div (df.v2) .sub (df.v3) ' ' df ['target'] = df.v1 * df.v3 /df.v2 - df.v3'. Решение 'apply' используется, если векторизованный подход невозможен. – jezrael