Sono nuovo di Python e non sono sicuro di come risolvere il seguente problema.Come applicare una funzione su ogni riga di un dataframe?
Ho una funzione:
def EOQ(D,p,ck,ch):
Q = math.sqrt((2*D*ck)/(ch*p))
return Q
Dire che ho il dataframe
df = pd.DataFrame({"D": [10,20,30], "p": [20, 30, 10]})
D p
0 10 20
1 20 30
2 30 10
ch=0.2
ck=5
E ch
e ck
sono tipi float. Ora voglio applicare la formula a ogni riga del dataframe e restituirla come una riga aggiuntiva "Q". Un esempio (che non funziona) sarebbe:
df['Q']= map(lambda p, D: EOQ(D,p,ck,ch),df['p'], df['D'])
(ritorni soltanto 'CARTA' tipi)
avrò bisogno di questo tipo di lavorazione più nel mio progetto e spero di trovare qualcosa che funziona.
È possibile guardare attraverso questa funzione che si applica alle righe funzioni: docs.scipy.org/doc/numpy/reference/generated/numpy.apply_along_axis.html – Litwos