我正在使用numpy矩阵来了解有关子矩阵的更多信息。下面是我尝试提取行向量和列向量时得到的结果:
>>> import numpy as np
>>> x = np.zeros(shape=(8,9))
>>> x
array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
>>> y = x[:, 0]
>>> y
array([ 0., 0., 0., 0., 0., 0., 0., 0.])
>>> z = x[0, :]
>>> z
array([ 0., 0., 0., 0., 0., 0., 0., 0., 0.])
事实是行向量和列向量都以相同的方式显示。所以我不知道他们是被视为相同还是不同。
答案 0 :(得分:2)
您当前只从数组中获取单个行/列,因此这是表示返回的行/列的1-D视图的最佳方式。
使用切片来获得如下结果:
In [16]: x[:,:1]
Out[16]:
array([[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.]])
In [17]: x[:1,:]
Out[17]: array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0.]])