Ich habe 4 Spalten in meinem Pandas Datenrahmen mit Spaltennamen können sagen, A, B, C, D jeweils auf ein Feld in UI zugeordnet. Jede hat ihren eigenen Zweck, aber Benutzer geben die Feld A-Information entweder in Feld A oder B oder C oder D ein. Ich versuche, die Daten zu bereinigen und zur Analyse in Spalte A zu bringen. Also, wenn es einen Wert in Spalte A gibt, interessiert mich nicht Werte in B oder C oder D. Aber wenn es keinen Wert in Spalte A gibt, dann muss ich nach Benutzereintrag in anderen Spalten suchen und es Spalte A bringen Die tatsächlichen Werte für Spalte A beginnen immer mit einigen Werten aus unserer Liste. Wenn also in Spalte A keine Daten vorhanden sind, müssen wir nach dem Wert in Spalte B suchen und sehen, ob dieser den Wert aus unserer Liste hat, und ihn dann zu A bringen, wenn Spalte B ebenfalls null ist oder wenn es einige hat anderen Wert als Werte aus unserer Liste, lassen Sie es und überprüfen Sie das gleiche in Spalte C, ähnlich wie in Spalte D. Wie geht das in Python?Python Pandas Spalte basierend auf mehreren wenn sonst Bedingungen
Bitte lassen Sie mich wissen, wenn etwas unklar ist.
Beispiel,
mylist = ['senior','junior','midlevel']
inputdf
A B C D
senior male senior UK
senior candidate USA
female junior
junior male junior AU
male candidate midlevel
female candidate AU
Outputdf,
A B C D
senior male senior UK
senior senior candidate USA
junior female junior
junior male junior AU
midlevel male candidate midlevel
female candidate AU
Danke. In einigen Fällen sind die Mylist-Werte jedoch mehrfach vorhanden, z. B. kein Wert in Spalte A, aber Junior in Spalte B und Junior in Spalte C. In diesem Fall wird dies doppelt in Spalte A geschrieben. Wie können wir verhindern, dass es weiter überprüft wird Spalten, sobald es das erste Mal findet. –
Sobald der Wert zurückgegeben wird, führt er keine doppelten Vergleiche durch. Sobald die return-Anweisung ausgeführt wird, bricht die Schleife ab und die Funktion führt keine weiteren Vergleiche durch. Wenn Sie weiterhin Probleme haben, können Sie weitere Beispiele hinzufügen (vor und nach dem Ausführen des Codes). –
Danke. Got you, aber ich bekomme einen anderen Fehler - AttributeError: ("'Series" -Objekt hat kein Attribut' Spalten '.) Ich denke, Anwendung Funktion übergibt nur eine Spalte nach dem anderen auf die Funktion. –