Преобразование DataFrame ("Шахматка")

Есть dataframe такого вида:

dt = pd.DataFrame({'project name':['A', 'A', 'B', 'C', 'D', 'E', 'B'], 'task_point':[1, 2, 2, 3, 4, 4, 4], 'Text':['Red', 'Red', 'Yellow', 'Green','Red','Yellow', 'Red']})

введите сюда описание изображения

Нужно привести к такому: введите сюда описание изображения

Сначала думал сделать как сводную таблицу, но агрегировать по тексту никак не получится. Сделать через group by тоже не получилось.

Подскажите, как сделать такую "шахматку"

Кортеж (project_name, task_point) - уникален. Повторений не может быть.


Ответы (1 шт):

Автор решения: strawdog

Вообще это и делается с помощью сводных таблиц:

res = df.pivot(index = "project name", columns = "task_point", values="Text")

res:

task_point      1       2      3       4
project name                            
A             Red     Red    NaN     NaN
B             NaN  Yellow    NaN     Red
C             NaN     NaN  Green     NaN
D             NaN     NaN    NaN     Red
E             NaN     NaN    NaN  Yellow
→ Ссылка