Умножить каждый элемент двумерного массива

есть такая матрица:

 import numpy as np
 a=np.array ([[0, 2.4, -6, 5, 0.8], 
              [1.5, 0, 0, -4.3, -3.5], 
              [0, 1.8, 3.2, -1.2, -1.3],
              [0, 0, -2.3, 0, -7.2],
              [3.3 -0.8, 0, 3.5, 8]])

нужно сделать новую матрицу каждый элемент умножить на 5.9 и вывести массив на экран

так же нужно найти минимальный элемент каждой строчки матрицы и вывести его значение и индекс


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

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

У вас на самом деле проблема в другом - в пропущенной запятой вот здесь:

[3.3 -0.8, 0, 3.5, 8]])
   ^^^

Если поставить там запятую, то массив станет "квадратным" и умножение его на 5.9 уже не будет давать ту ошибку, которую вы получаете сейчас при попытке умножения, и которая вас сбила с толку:

b = a * 5.9

TypeError: can't multiply sequence by non-int of type 'float'

Из-за отсутствия запятой у вас сейчас получается массив из списков разной длины и не получается сделать нормальную numpy матрицу - внутри массива numpy по-прежнему лежат обычные питоновские списки, и вот именно их можно "умножать" только на целые числа. Но это всё-равно не то умножение, которое вы думаете.

→ Ссылка