Sto cercando di applicare una funzione a tutte le righe di un dataframe panda (in realtà solo una colonna in quella dataframe)Problemi passando lambda di applicare per i panda dataframe
Sono sicuro che questo è un errore di sintassi, ma sono so sicuro di quello che sto facendo male
df['col'].apply(lambda x, y:(x - y).total_seconds(), args=[d1], axis=1)
la colonna col
contiene un mucchio un datetime.datetime
oggetti ed e d1
è la più antica di loro. Sto cercando di ottenere una colonna del numero totale di secondi per ciascuna delle righe
EDIT Continuo a ricevere il seguente errore
TypeError: <lambda>() got an unexpected keyword argument 'axis'
non capisco il motivo per cui axis
è sempre passato al il mio lambda
funzione
EDIT 2
ho anche provato a fare
012.def diff_dates(d1, d2):
return (d1-d2).total_seconds()
df['col'].apply(diff_dates, args=[d1], axis=1)
E ottengo lo stesso errore
Potrebbe essere che args e asse si trovano nella stessa staffa di 'lambda'? – Zizouz212
Stai cercando di sottrarre una colonna di una data da un'altra? Totalmente poco chiaro quello che vuoi veramente. Mostra il tuo input e quello che vuoi come output – qwwqwwq
sembra un problema di precedenza degli operatori. Penso che tu stia dicendo al lambda di restituire una tupla da 3 t. – royce3