Код Middle pivot, melt и сводные спрашивают часто обновлено
Сводная таблица день × город
Условие
Дан список продаж [day, city, amount] (пары день-город могут повторяться). Постройте сводную таблицу сумм. Верните словарь {"days": [...], "cities": [...], "values": [[...], ...]}: дни и города отсортированы по возрастанию, values[i][j] сумма для days[i] и cities[j], пустые ячейки 0, все числа целые.
Примеры
sales_matrix([["d1", "A", 10], ["d1", "A", 5], ["d2", "B", 7]]) // {"days":["d1","d2"],"cities":["A","B"],"values":[[15,0],[0,7]]}
sales_matrix([["d1", "A", 1]]) // {"days":["d1"],"cities":["A"],"values":[[1]]}
sales_matrix([["2", "X", 1], ["1", "Y", 2], ["1", "X", 3]]) // {"days":["1","2"],"cities":["X","Y"],"values":[[3,2],[1,0]]}
Как подойти
Подсказки: 2
- Пары повторяются:
pivotне подойдёт. aggfunc="sum",fill_value=0.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.