【发布时间】:2015-09-03 02:24:34
【问题描述】:
>>> A = np.matrix(np.zeros(2, 3)))
>>> A.shape
(2, 3)
>>> A
matrix([[ 0., 0., 0.],
[ 0., 0., 0.]])
矩阵A 是两行三个零还是两列三个零?
【问题讨论】:
>>> A = np.matrix(np.zeros(2, 3)))
>>> A.shape
(2, 3)
>>> A
matrix([[ 0., 0., 0.],
[ 0., 0., 0.]])
矩阵A 是两行三个零还是两列三个零?
【问题讨论】:
@Anand S Kumar,有正确答案:numpy website
y.shape = (3, 8)
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.]])
在此矩阵或np.shape 中,有三行八列。
【讨论】:
rows、columns 只是我们按照惯例为matrix(或更一般的二维numpy 数组)的二维命名。
np.matrix 根据定义是 2d,所以这个约定很有用。但np.array 可能有 0、1、2 或更多维度。为此,这两个名称不太有用。例如,如果 1d,它有行还是列?如果是 3d,我们称最后一个维度是什么,深度?或者第一个是页面?
所以不要过分强调名字。大多数numpy 函数要求您指定“轴”,按数字、0、1、2 等,而不是按名称。
如果您从 csv 文件加载数据并获取 dtype 字段的一维数组(文件的每行一个“行”),则可能会进一步混淆。字段与列相同吗?有点,但不完全。
【讨论】:
A.shape 将返回一个元组 (m, n),其中 m 是行数,n 是列数。
【讨论】:
所讨论的矩阵有 2 行 3 列(维度为 2x3),其中每个矩阵元素的值为零。
【讨论】: