Код Middle Пропуски, дубли и типы спрашивают часто обновлено

Заполнить пропуски медианой группы

Условие

Дан список записей rows ({"city", "salary"}, salary может быть None). Заполните пропуски в salary медианой зарплаты своего города. Если в городе нет ни одного значения, используйте медиану по всем данным. Верните список зарплат в исходном порядке, округлённых до 1 знака.

Примеры

fill_salary([{"city":"Казань","salary":100}, {"city":"Казань","salary":null}, {"city":"Казань","salary":140}, {"city":"Пермь","salary":80}]) // [100, 120, 140, 80]
fill_salary([{"city":"А","salary":10}, {"city":"Б","salary":null}, {"city":"А","salary":30}]) // [10, 20, 30]
fill_salary([{"city":"А","salary":5}]) // [5]

Как подойти

Подсказки: 2
  1. groupby(...).transform("median") сохраняет длину.
  2. Второй fillna для городов без данных.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.