массив numpy, который равен (n, 1) и (n,)

В чем разница между массивом numpy (скажем, X), который имеет форму (N, 1) и (N,). Не являются ли обе матрицы Nx1? Причина, по которой я спрашиваю, заключается в том, что иногда вычисления возвращаются либо к одному, либо к другому.

One Solution collect form web for “массив numpy, который равен (n, 1) и (n,)”

Это 1D-массив:

>>> np.array([1, 2, 3]).shape (3,) 

Этот массив является 2D, но в первом измерении есть только один элемент:

 >>> np.array([[1, 2, 3]]).shape (1, 3) 

Транспонирование дает форму, которую вы просите:

 >>> np.array([[1, 2, 3]]).T.shape (3, 1) 

Теперь посмотрим на массив. Заполняется только первый столбец этого 2D-массива.

 >>> np.array([[1, 2, 3]]).T array([[1], [2], [3]]) 

Учитывая эти два массива:

 >>> a = np.array([[1, 2, 3]]) >>> b = np.array([[1, 2, 3]]).T >>> a array([[1, 2, 3]]) >>> b array([[1], [2], [3]]) 

Вы можете воспользоваться трансляцией:

 >>> a * b array([[1, 2, 3], [2, 4, 6], [3, 6, 9]]) 

Пропущенные номера заполняются. Подумайте о строках и столбцах таблицы или таблицы.

 >>> a + b array([[2, 3, 4], [3, 4, 5], [4, 5, 6]]) 

Выполнение этого с более высокими размерами становится более жестким в вашем воображении.

  • Интерполирование пика для двух значений x - Python
  • конкатенация массивов в python, таких как matlab, без знания размера выходного массива
  • Как изменить dtype numpy recarray?
  • Объявление массива numpy и c-указателя в cython
  • numpy: эффективное чтение большого массива
  • «Linalg.solve» и «linalg.lstsq» Numpy не дают такого же ответа, как «\» или «mldivide» Matlab
  • Numpy: исправить массив с строками разной длины, заполнив пустые элементы нулями
  • python matplotlib plot разреженный шаблон матрицы
  • Python - лучший язык программирования в мире.