pandasnumpy中的矢量与ndarrays的对比。

问题描述 投票:0回答:1

我知道对于一个4维向量来说,形状应该是(4,1),这实际上是在4维空间中表示的,但是ndim是2,而对于一些ndarray来说,它的形状应该是类似于(2,3,4,5)。

那么,向量和矩阵(或数组)之间的维度概念是否有所不同?我想从数学的角度来理解,以及它是如何衍生到熊猫编程的。

pandas numpy math numpy-ndarray
1个回答
0
投票

一个数学对象的维度通常由该特定对象中独立参数的数量决定。例如,一个4维的 矢量 在数学上是4维的,因为它包含4个独立的元素(除非它们之间有某种关系)。这样的向量,如果用列向量表示,在 numpy形状 (4, 1) 因为它有4行1列。这个向量的转置,是一个行向量,形状是 (4, ) 因为它有4列,只有1行,而行式视图是默认的,所以如果有1行,就不会明确提到。但要注意的是,列向量和行向量都是 尺寸等效 在数学上。两者都有4个维度.对于一个 3 x 3 矩阵,最一般的数学维度是 9因为它一般有9个独立元素。相应地,它的形状是 numpy 阵列将是 (3, 3). 如果你正在寻找任何一个元素的最大数量。numpy 阵列。ndarray.size 才是正确的做法。

ndarray.ndim然而,产生了 轴数 在一个numpy数组中。也就是说,在这个数组中,有多少个 方向 沿着这些值放置(术语不严谨!)。所以对于 3 x 3 矩阵: ndim 产量 2. 对于一个形状的阵列 (3, 7, 2, 1), ndim 会产生4。但是,正如我们已经讨论过的,数学维度一般为 3 x 7 x 2 x 1 = 42 (所以这是一个42维空间的矩阵! 但是 numpy 数组只有4个维度)。) 因此,你可能已经注意到了。ndarray.size 中的数字的乘积。ndarray.shape.

请注意,这些不仅仅是编程的概念。我们习惯于在数学中说 "二维矩阵",但这不能与矩阵所在的空间混淆。

© www.soinside.com 2019 - 2024. All rights reserved.