Агрегации по массиву и по оси: sum, mean, min, max, argmin, argmax
Содержание курса
Найди и исправь: неверные вызовы argmin, argmax и mean по оси
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет.
В редакторе уже есть сломанный код. Он пытается выполнить четыре агрегации над двумерным массивом, но в каждой из четырёх строк допущена ровно одна ошибка:
- в
row_argmax— использованnp.argmax(arr)безaxis, хотя нужен номер столбца с максимумом в каждой строке; - в
col_argmin— использованaxis=1, хотя нужен номер строки с минимумом в каждом столбце; - в
row_mean— использованaxis=0, хотя нужно среднее по каждой строке (схлопнуть столбцы); - в
global_min— использованnp.argmin(arr), хотя нужно само минимальное значение черезnp.min.
Что нужно сделать
Найдите и исправьте все четыре ошибки так, чтобы программа:
- Читала из
stdinдва целых числаRиC— размер массива. - Читала следующие
Rстрок, каждая содержитCцелых чисел через пробел. Создавала двумерный массивarrчерезnp.array(..., dtype=int)формы(R, C). - Вычисляла и выводила ровно восемь строк:
- строка 1: элементы
row_argmax = np.argmax(arr, axis=1)через пробел — номера столбцов максимума в каждой строке; - строка 2:
shapeмассиваrow_argmaxв виде(R,); - строка 3: элементы
col_argmin = np.argmin(arr, axis=0)через пробел — номера строк минимума в каждом столбце; - строка 4:
shapeмассиваcol_argminв виде(C,); - строка 5: элементы
row_mean = np.mean(arr, axis=1)через пробел; - строка 6:
shapeмассиваrow_meanв виде(R,); - строка 7: значение
global_min = np.min(arr)— глобальный минимум; - строка 8:
shapeрезультатаglobal_minв виде().
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
R C
a00 a01 ... a0(C-1)
...
a(R-1)0 ... a(R-1)(C-1)
Формат вывода
Восемь строк в порядке, описанном выше. Shape выводится строковым представлением кортежа Python, например (3,) или ().
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
- Тест 1Ввод
3 4 1 8 3 6 7 2 9 4 5 10 0 11
Ожидаемый вывод1 2 3 (3,) 0 1 2 1 (4,) 4.5 5.5 6.5 (3,) 0 ()
Как проверяется решение
Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
