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

Python-Programme
Guest
 Mit der Rangliste der Gruppe/Untergruppe in einer neuen Spalte eines Datenrahmens

Post 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 ...

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post