在numpyarrays中,维数是指索引它所需的axes个数,而不是任何几何空间的维数。例如,可以使用二维阵列描述三维空间中点的位置:array([[0, 0, 0],
[1, 2, 3],
[2, 2, 2],
[9, 9, 9]])
它有shape的(4, 3)和维数2。但它可以描述三维空间,因为每行的长度(axis1)是三,所以每行可以是点位置的x、y和z分量。长度axis0表示点数(这里是4)。但是,这更多的是代码描述的数学应用程序,而不是数组本身的属性。在数学中,向量的维数是它的长度(例如,三维向量的x、y和z分量),但在numpy中,任何“向量”实际上都被认为是长度可变的一维数组。数组不关心所描述的空间(如果有的话)的维数是多少。
你可以玩这个,看看数组的维数和形状,如下所示:In [262]: a = np.arange(9)
In [263]: a
Out[263]: array([0, 1, 2, 3, 4, 5, 6, 7, 8])
In [264]: a.ndim # number of dimensions
Out[264]: 1
In [265]: a.shape
Out[265]: (9,)
In [266]: b = np.array([[0,0,0],[1,2,3],[2,2,2],[9,9,9]])
In [267]: b
Out[267]:
array([[0, 0, 0],
[1, 2, 3],
[2, 2, 2],
[9, 9, 9]])
In [268]: b.ndim
Out[2

最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



