Я пытаюсь найти чистый способ создать новый столбец в DataFrame с ранжированием группы/подгруппы на основе суммы значения.
Вот простой пример: < 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>
Вывод, который я хотел бы иметь: < /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>
Поскольку сумма «значения» подгруппы ["a", "i"] - 9, что делает ее третьей по величине подгруппой.
Я знаю, что это звучит легко, чтобы делай, но я не могу найти эффективный способ сделать это с пандами ...
Подробнее здесь: https://stackoverflow.com/questions/794 ... -dataframe
Имея рейтинг группы/подгруппы в новом столбце DataFrame ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение