2024-06-16 12:13:36 发布
网友
在pythonnumpy中,我如何理解数组在如下所示的切片后变为空,但形状仍然是多维的和非零的情况。你知道吗
import numpy as np x = np.matrix([[1,2,3], [4,5,6], [7,8,9]]) y = x[0:2,3:5] print(y) # [] print(y.shape) # (2, 0)
在我的评论中,我将其归咎于np.matrix,但实际上这是一个切分问题:
np.matrix
In [57]: np.arange(1,10).reshape(3,3)[0:2, 3:5] Out[57]: array([], shape=(2, 0), dtype=int64) In [58]: np.matrix(np.arange(1,10).reshape(3,3))[0:2, 3:5] Out[58]: matrix([], shape=(2, 0), dtype=int64)
Python允许我们对“range”之外的列表进行切片,numpy也可以。3:5在列维度之外,因此生成0维度。你知道吗
numpy
3:5
多维数组可以具有0维。元素的总数是维度的乘积,在本例中为0。你知道吗
制作这种阵列的其他方法:
In [61]: np.array([[],[]]) Out[61]: array([], shape=(2, 0), dtype=float64) In [62]: np.zeros((2,0)) Out[62]: array([], shape=(2, 0), dtype=float64)
在我的评论中,我将其归咎于
np.matrix
,但实际上这是一个切分问题:Python允许我们对“range”之外的列表进行切片,
numpy
也可以。3:5
在列维度之外,因此生成0维度。你知道吗多维数组可以具有0维。元素的总数是维度的乘积,在本例中为0。你知道吗
制作这种阵列的其他方法:
相关问题 更多 >
编程相关推荐