当前位置: 首页 > 面试题库 >

在Python NumPy中,尺寸和轴是什么?

微生翼
2023-03-14
问题内容

我正在使用PythonsNumPy模块进行编码。如果将3D空间中的点的坐标描述为[1, 2, 1],那不是三个维度,三个轴,三个等级吗?或者,如果那是一个维度,那它不应该是点(复数),而不是点吗?

这里是文档:

在Numpy中,尺寸称为轴。轴数为等级。例如,3D空间[1、2、1]中的点的坐标是等级1的数组,因为它具有一个轴。该轴的长度为3。

资料来源:http :
//wiki.scipy.org/Tentative_NumPy_Tutorial


问题答案:

在numpy中array,维度是指对其axes进行索引所需的数量,而不是任何几何空间的维度。例如,您可以使用2D数组描述点在3D空间中的位置:

array([[0, 0, 0],
       [1, 2, 3],
       [2, 2, 2],
       [9, 9, 9]])

它具有shape(4, 3)和尺寸2。但是它可以描述3D空间,因为每行(axis1)的长度为三,因此每行可以是点位置的x,y和z分量。长度axis0表示点数(此处为4)。但是,更多的是代码描述的数学应用,而不是数组本身的属性。在数学中,向量的尺寸将是其长度(例如3d向量的x,y和z分量),但是在numpy中,任何“向量”实际上只是被认为是长度可变的1d数组。数组不在乎所描述的空间的尺寸(如果有)。

您可以尝试一下,然后看一下数组的维数和形状,如下所示:

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[268]: 2

In [269]: b.shape
Out[269]: (4, 3)

数组可以具有许多维度,但是在两三个或三个以上的数组中,它们变得难以可视化:

In [276]: c = np.random.rand(2,2,3,4)

In [277]: c
Out[277]: 
array([[[[ 0.33018579,  0.98074944,  0.25744133,  0.62154557],
         [ 0.70959511,  0.01784769,  0.01955593,  0.30062579],
         [ 0.83634557,  0.94636324,  0.88823617,  0.8997527 ]],

        [[ 0.4020885 ,  0.94229555,  0.309992  ,  0.7237458 ],
         [ 0.45036185,  0.51943908,  0.23432001,  0.05226692],
         [ 0.03170345,  0.91317231,  0.11720796,  0.31895275]]],


       [[[ 0.47801989,  0.02922993,  0.12118226,  0.94488471],
         [ 0.65439109,  0.77199972,  0.67024853,  0.27761443],
         [ 0.31602327,  0.42678546,  0.98878701,  0.46164756]],

        [[ 0.31585844,  0.80167337,  0.17401188,  0.61161196],
         [ 0.74908902,  0.45300247,  0.68023488,  0.79672751],
         [ 0.23597218,  0.78416727,  0.56036792,  0.55973686]]]])

In [278]: c.ndim
Out[278]: 4

In [279]: c.shape
Out[279]: (2, 2, 3, 4)


 类似资料:
  • 有一段时间没写加密了,还忘了一些东西。 我记得,为了使使用相同键的相同数据的输出不同,我想在字节数组的一端对数据进行salt处理,然后使用CBC模式,这样salt就可以完成它的任务。 但是我想不起来加密的方向是什么了,应该把salt放在0的位置,然后把要加密的数据放在它后面,还是把salt放在最后?我知道CBC模式工作最好的时候,盐是第一块在链。 我使用的是AesCryptoServiceProv

  • 主要内容:jQuery 尺寸方法,jQuery 尺寸,jQuery width() 和 height() 方法,实例,jQuery innerWidth() 和 innerHeight() 方法,实例,jQuery outerWidth() 和 outerHeight() 方法,实例通过 jQuery,很容易处理元素和浏览器窗口的尺寸。 jQuery 尺寸方法 jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHeight() ou

  • 根据我对CNN的理解,扁平化用于从2D到1D,以便可以使用密集层进行分类。同样在我的理解中,扁平化的结果是过滤器的尺寸乘以过滤器的数量。 为什么扁平化后,第一个密集层不一定要与扁平化的结果具有相同的维度(这将是过滤器*过滤器的暗淡值)?第一个密集层的节点比扁平化的暗淡值更少或更大的CNN都可以工作,但我不知道为什么。扁平化不是应该为您提供密集层的输入吗?

  • 我的应用程序中有3个媒体查询断点 (最小宽度:1024px)//适用于台式机 (最大宽度:1023px)和(方向:纵向)//用于移动纵向 (最大宽度:1023px)和(方向:横向)//用于移动横向 根据断点,我将更改对应于设备和方向的图像源 对于桌面设备,图像的宽度和高度为346x251。 现在,我需要对移动肖像和风景的图像进行切片。移动肖像和移动景观的理想尺寸是多少

  • 在CSS中,通过 width 和 height 属性来定义一个盒子的宽度和高度,可以用长度值或百分比来设置,不允许负值。使用百分比时,根据父元素的宽度进行计算盒子的宽度,根据父元素的高度进行计算盒子的高度。 如果一个盒子没有显式定义 width 属性,则宽度的计算结果跟定位类型相关:静态定位或相对定位的盒子,其宽度为父元素宽度的100%;绝对定位和浮动的盒子,其宽度根据所包含内容自动扩展,最大宽度

  • CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度。同样,它允许你增加行间距。 更多实例 设置元素的高度 这个例子演示了如何设置不同元素的高度。 使用百分比设置图像的高度 这个例子演示了如何使用百分比值设置元素的高度。 使用像素值来设置元素的宽度 本例演示如何使用像素值来设置元素的宽度。 设置元素的最大高度 此示例演示如何设置元素的最大高度。 使用百分比来设置元素的最大宽度 本例