Ich versuche, Lambda und Map zu verwenden, um eine neue Spalte in meinem Dataframe zu erstellen. Im Wesentlichen nimmt die neue Spalte Spalte A an, wenn ein Kriterium erfüllt ist, und Spalte B ist das Kriterium, das nicht erfüllt ist. Bitte beachten Sie meinen Code unten.Verketten mit Lambda und Bedingungen
df['LS'] = df.['Long'].map(lambda y:df.Currency if y>0 else df.StartDate)
Wenn ich dies tun, die Funktion gibt jedoch die gesamte Spalte auf jedes Element in meiner neuen Spalte.
In Englisch gehe ich jedes Element y in Spalte Long durch. Wenn der Artikel> 0 ist, nehmen Sie den y-ten Wert in der Spalte "Währung". Andernfalls nehmen Sie den y-ten Wert in der Spalte "Start".
Iteration ist extrem langsam beim Ausführen der oben genannten. Gibt es noch andere Möglichkeiten?
Danke! James
'df [...]' ist ein Syntaxfehler. Sind Sie sicher, dass dies genau der Code ist, den Sie ausführen? – mkrieger1
IIUC du willst 'df ['LS'] = df ['Währung'] where (df ['Long']> 0, df ['StartDate'])' – EdChum