Код Junior NumPy: массивы и векторизация спрашивают часто обновлено

Стандартизация столбцов матрицы (z-score)

Условие

Дана матрица rows (список строк одинаковой длины, числа). Верните матрицу, где каждый столбец стандартизован: (x - mean) / std, std по генеральной совокупности (ddof=0). Если std столбца равно 0, все значения столбца равны 0. Округлите до 3 знаков, верните список списков.

Пример: [[1, 10], [3, 10]] -> [[-1.0, 0.0], [1.0, 0.0]].

Примеры

zscore([[1, 10], [3, 10]]) // [[-1, 0], [1, 0]]
zscore([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) // [[-1.225, -1.225, -1.225], [0, 0, 0], [1.225, 1.225, 1.225]]
zscore([[5]]) // [[0]]

Как подойти

Подсказки: 2
  1. Агрегаты по столбцам: axis=0.
  2. Защититесь от деления на 0 через np.where.

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

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