Ho un set di dati, df, con due variabili, xey. Voglio scrivere una funzione che esegue le operazioni seguenti:Come scrivere una funzione lambda che è condizionata da due variabili (colonne) in python
x se x> 100 e y < 50 altro y
Sono abituato a fare l'analisi dei dati in STATA quindi sono relativamente nuovo per panda per l'analisi dei dati. Se aiuta, in Stata sarebbe simile:
sostituire x = cond (x> 100 & y < 50, x, y)
In altre parole, la funzione è subordinata a due colonne in df e restituiscono un valore da una variabile o dall'altra in ogni riga a seconda che la condizione sia soddisfatta.
Finora mi hanno creato nuove variabili attraverso nuove funzioni come:
df.dummyVar = df.x.apply (lambda x: 1 se x> 100 altro 0)
Utilizzando StackOverflow e la documentazione, sono riuscito solo a scoprire come applicare una funzione dipendente da una singola variabile a più di una colonna (usando l'opzione asse). Per favore aiuto.
Questo è esattamente ciò di cui avevo bisogno. E questo è fantastico perché posso già vedere come posso espanderlo a condizionali su 3 o più variabili. Grazie! – seeiespi
@seeiespi sei il benvenuto, puoi accettarlo come risposta, ci sarà un segno di spunta sotto i pulsanti di voto. Usare apply e iterating dovrebbe sempre essere l'ultima scelta, se possibile trovare un metodo che funzioni sull'intero dataframe – EdChum