В NumPy различие между матрицей-строкой и матрицей-столбцом заключается в форме (shape) и, следовательно, в том, как массив интерпретируется в операциях и broadcasting.
Матрица-строка:
ndim = 2shape = (1, n)— одна строка, n столбцов- Индексация:
M[0, j] - Используется, когда нужен двумерный объект с одной строкой, например для совместимости с 2D массивами при операциях
Пример:
import numpy as np
row = np.array([[1, 2, 3]]) # shape (1, 3)
row.ndim # 2Матрица-столбец:
ndim = 2shape = (n, 1)— n строк, один столбец- Индексация:
M[i, 0] - Полезно для линейной алгебры, транспонирования и broadcasting по столбцам
Пример:
col = np.array([[1],
[2],
[3]]) # shape (3, 1)
col.ndim # 2Ключевые моменты:
(1, n)и(n,)— визуально похожи, но(1, n)— 2D массив, пригоден для операций с 2D матрицами(n, 1)— столбец, часто используется для умножения матриц:(n,1) * (1,m)→(n,m)- Broadcasting зависит от формы:
(1, n)можно складывать с(m, n)по строкам,(n, 1)— по столбцам