在NumPy中是否存在将向量表示为1d或2d ndarray的标准做法?我正在从代表向量的MATLAB转向2d数组. 根据我的经验,1D是矢量numpy的常态.将n个元素的矢量保持为形状(1,n)或(n,1)的2D数组的唯一理由
如果你坚持使用1D形状矢量(n,),你可以动态重塑以进行需要2D形状的特定操作:
a.reshape(-1, 1) # shape (n, 1) a[:, None] # shape (n, 1) a.reshape(1, -1) # shape (1, n) a[None, :] # shape (1, n)
Numpy将自动重塑您的1D向量以形成(1,n)broadcasting它用于涉及2D阵列的操作.