Ich habe eine Liste, so dassPython - elegante Art und Weise des höchsten gewichteten Wert im Set zu holen
l = ['xyz','abc','mnq','qpr']
Diese Werte so gewichtet werden, dass xyz>abc>mnq>qpr
ich Pandas Datenrahmen mit einer Säule, die Sätze von Werten hat.
COL_NAME
0 set(['xyz', 'abc'])
1 set(['xyz'])
2 set(['mnq','qpr'])
Nun, ich möchte die höchsten Werte in den Sätzen holen, so dass, nachdem ich die benutzerdefinierte Funktion anwenden ich links bin mit
COL_NAME
0 set(['xyz'])
1 set(['xyz'])
2 set(['mnq'])
Gibt es eine elegante Möglichkeit, diesen Prozess zu tun, ohne Rückgriff auf ein Wörterbuch von Gewichten?
Wenn Sie Ihre benutzerdefinierte Funktion in eine Schlüsselfunktion machen, dann können Sie wahrscheinlich so etwas wie '{max ({ 'xyz', 'abc'}, key = your_function)}' –
leid, dass ich bearbeitet meine Frage ein bisschen. Hoffentlich mache ich jetzt viel mehr Sinn. Ich habe eine Notwendigkeit für die oben beschriebene Funktionalität, aber ich bin mir nicht sicher über die beste Art, es zu tun – Fizi
Schreiben Sie eine Funktion, die den maximalen Wert basierend auf den Gewichten zurückgibt - dann verwenden Sie max(), um es zu extrahieren. – wwii