Page 1 of 1

Mit der Rangliste der Gruppe/Untergruppe in einer neuen Spalte eines Datenrahmens

Posted: 18 Feb 2025, 13:53
by Guest
Ich versuche, einen sauberen Weg zu finden, um eine neue Spalte in einem Datenrahmen mit der Rangliste der Gruppe/Untergruppe basierend auf der Summe eines Wertes zu erstellen.
Hier ist ein einfaches Beispiel: < Br />df = pd.DataFrame({
"group": ["a", "a", "a", "a", "a", "b", "b", "b", "b", "b","c"],
"subgroup": ["i","ii","i","ii","i","ii","i","ii","i","ii","ii"],
"value": [2, 4, 2, 3, 5, 1, 2, 4, 1, 5, 11] })
< /code>
Die Ausgabe, die ich gerne hätte, ist: < /p>
|group |subgroup| value | rank |
|------|--------|-------|------|
| "a" | "i" | 2 | 3 |
| "a" | "ii" | 4 | 4 |
| "a" | "i" | 2 | 3 |
| "a" | "ii" | 3 | 4 |
| "a" | "i" | 5 | 3 |
| "b" | "ii" | 1 | 2 |
| "b" | "i" | 2 | 5 |
| "b" | "ii" | 4 | 2 |
| "b" | "i" | 1 | 5 |
| "b" | "ii" | 5 | 2 |
| "c" | "i" | 11 | 1 |
< /code>
Weil die Summe des Wertes der Untergruppe ["a", "i"] 9 beträgt, was es zur drittgrößten Untergruppe macht.
Ich weiß, dass es einfach klingt zu tun, aber ich kann keinen effizienten Weg finden, es mit Pandas zu tun ...