pandas сортировка по столбцам
Есть DF:
| IDs | Names | group | Projects |
|---|---|---|---|
| TIRL002 | WebSupp1 | 0 | KLL-0223 |
| TIRL003 | WebSupp1 | 0 | KLL-0224 |
| TIRL004 | WebSupp1 | 0 | KLL-0225 |
| TIRL005 | WebSupp3 | 11 | KLL-0226 |
| TIRL006 | WebSupp3 | 11 | |
| TIRL007 | WebSupp3 | 11 | |
| TIRL008 | WebSupp4 | 22 | |
| TIRL009 | WebSupp4 | 22 | |
| TIRL010 | WebSupp4 | 22 | |
| TIRL011 | WebSupp5 | 33 | |
| TIRL013 | WebSupp5 | 33 | |
| TIRL014 | WebSupp5 | 33 |
В нем есть столбец "group" с уникальными значениями для определенных IDs. На основе этих уникальных значений я хочу дуплицировать и растянуть значения в Projects так, чтобы, например, первый проект "KLL-0223" продолжался до конца "0", потом начиная с 11 - "KLL-0224" и т.д
Вот что я пытаюсь сделать:
| IDs | Names | group | Projects |
|---|---|---|---|
| TIRL002 | WebSupp1 | 0 | KLL-0223 |
| TIRL003 | WebSupp1 | 0 | KLL-0223 |
| TIRL004 | WebSupp1 | 0 | KLL-0223 |
| TIRL005 | WebSupp3 | 11 | KLL-0224 |
| TIRL006 | WebSupp3 | 11 | KLL-0224 |
| TIRL007 | WebSupp3 | 11 | KLL-0224 |
| TIRL008 | WebSupp4 | 22 | KLL-0225 |
| TIRL009 | WebSupp4 | 22 | KLL-0225 |
| TIRL010 | WebSupp4 | 22 | KLL-0225 |
| TIRL011 | WebSupp5 | 33 | KLL-0226 |
| TIRL013 | WebSupp5 | 33 | KLL-0226 |
| TIRL014 | WebSupp5 | 33 | KLL-0226 |
Ответы (1 шт):
Автор решения: Jack Russtrel
→ Ссылка
Решение моей проблемы:
df_group["Project names"] = df_group.groupby("group").ngroup().map(projects["Projects"])
projects = pd.DataFrame({"Projects": ["KLL023","KLL024","KLL025","KLL026"]})