Ich versuche, eine einfache Funktion auf einen Pandas Datenrahmen anzuwenden. Ich möchte eine Variable erreichen von der Formel in „my_res“, die so genannte „Ziel“, und fügen Sie es zu dem Datenrahmenanwenden Funktion Pandas Datenrahmen
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
und was passiert, wenn ich eine Formel wie folgt hatte:
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
Dank, habe ich eine Verallgemeinerung Detail auf meine Frage – progster
Sicher, können Sie 'df [ 'Ziel'] verwenden = df.v1.mul (df.v3) .div (df.v2) .sub (df.v3) ' ' df ['Ziel'] = df.v1 * df.v3 /df.v2 - df.v3'. 'apply'-Lösung wird verwendet, wenn ein vektorisierter Ansatz unmöglich ist. – jezrael