(X.shape[0], -1) 是什么意思?-1 代表什么?
(X.shape[0], -1) 是什么意思?-1 代表什么?
这个问题已经有了答案:
X_flatten = X.reshape(X.shape[0], -1).T
我没有预料到代码中会出现-1
。
admin 更改状态以发布 2023年5月21日
numpy.reshape有三个参数:(a,newshape,order ='C')。在这里,“-1”定义了第二个参数:newshape。
“newshape:int或int的tuple
新形状应与原始形状兼容。如果是整数,则结果将是该长度的一维数组。一个形状维度可以为-1。在这种情况下,该值将从数组的长度和剩余维度中推断出。”
我们可以通过查看numpy的文档来解决这个问题。您可以通过搜索 numpy reshape documentation
来找到该页面。
有这个部分,我通过使用CTRLF搜索-1
找到了它。
新形状:int或int元组
新形状应与原始形状兼容。如果是整数,则结果将是该长度的1-D数组。一维形状可以为-1。在这种情况下,该值是从数组的长度和剩余维数中推断出来的。
在页面的下面,有一个例子:
>>> np.reshape(a, (3,-1)) # the unspecified value is inferred to be 2 array([[1, 2], [3, 4], [5, 6]])
因此,我们可以得出结论,-1
被推断为任何使得重塑后数组中的元素数与原始数组中的元素数相同的数字。这也是为什么只有一个维度可以为-1
的原因-如果有多个维度是-1
,将无法知道您想要的是什么。