2016-10-22 66 views
2

是什么差(N,1)

numpy.zeros(n)

numpy.zeros(n,1)之间的差异?

用于第一语句的输出是

[0 0 ..... n次]

而第二个是

([0] [0]

.... n行)

+1

我得到'numpy.zeros(n,1)'的错误。我猜你的意思是'numpy.zeros((n,1))'。 –

+1

有关'(n,)'形状和'(n,1)'之间区别的详细描述请看http://stackoverflow.com/questions/22053050/difference-between-numpy-array-shape-r- 1和r(和其他这样的问题)。 – hpaulj

+0

@hpaulj:我认为这是一个完美的候选人,可以将这个问题作为 – Eric

回答

1

第一个参数指示数组的形状。标量参数意味着一个“平坦”数组(矢量),而元组参数被解释为张量的维数。因此,如果参数是元组(m,n),则numpy.zeros将返回包含m行和n列的矩阵。在你的情况下,它返回一个包含n行和1列的矩阵。

虽然你的两种情况在某种意义上是等价的,但需要向量作为输入的线性代数例程可能会像第一种形式那样。

+0

的副本来处理,这个问题不同于二维矩阵(n,n)的一维矩阵(n, 1)。 – TWReever

+0

@TWReever:谢谢澄清我最后的声明。 –

+0

肯定需要一些习惯,尤其是如果习惯于更常规的方式,比如在Matlab中。 – TWReever