![](/img/trans.png)
[英]What's the differences between a numpy matrix and a numpy.matrixlib.defmatrix.matrix?
[英]how to get subset of matrix in class numpy.matrix.defmatrix.matrix
原始矩阵变量为N,形状为(138,210)。 我尝试使用N [:] [:-1]和N [:] [-1]来获得矩阵N的子集。因此,这两个子集的形状分别为(138,209)和(138,1)。 但是,此方法不起作用。 响应为(137,210)和(1,210)。 我也尝试了N [:-1] [:],但这都不起作用。
N的类型为numpy.matrix.defmatrix.matrix
如何获得正确答案?
要选择所有行和最后一个列:
N[:, :-1]
要从每一行中仅选择最后一列:
N[:, -1]
N[:, :-1]
将具有形状(138, 209)
,而N[:, -1]
将具有形状(138, 1)
。
本食谱页面介绍了多维切片。
为什么N[:][:-1]
返回的数组少一行 :
切片N
默认为沿第一个轴切片。 因此, N[:]
沿长度为138的轴进行切片。如上所示,要沿第二个轴进行切片,需要提供两个以逗号分隔的切片表达式:例如N[:, :-1]
。 第二个切片表达式:-1
应用于第二个轴。
N[:]
返回包含所有行的N
切片(由于没有沿第二个轴执行切片,因此它也返回所有列)。 它是相同矩阵N
的视图。 因此N[:]
具有形状(138, 210)
。 N[:][:-1]
因此正在选择N
的最后一行以外的所有内容,因此具有形状(137, 210)
。
这对您有用吗?
In [42]: N = np.random.rand(138, 210)
In [43]: N[:, :-1].shape
Out[43]: (138L, 209L)
In [44]: N[:, -1].shape
Out[44]: (138L,)
N[:, :-1]
用于(138, 209)
形状, N[:, -1]
用于(138, 1)
形状。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.