繁体   English   中英

Numpy重塑子列表

[英]Numpy reshape sub-list

由于某些原因,numpy报告一维numpy数组的形状而没有行数。 具有784个元素的numpy数组的形状为(784,) 这是一个问题,因为我使用的库期望正确的shape属性(例如(784, 1) )。

如果我只有一个数组,可以这样做: train_y = train_y.reshape((train_y.shape[0], 1)但是有没有一种方法可以不进行for循环而重塑子数组?与形状
(60000, 784) ,但是,子数组的形状为(784,) ,我希望它们的形状为(784,1)

NumPy是n维数组库,而不是矩阵库。 一维数组不具备行。

如果要查看任意一个数组,并在其末端附加一个长度为1的轴,则可以执行以下操作:

train_y = train_y[..., np.newaxis]
# or
train_y = train_y.reshape(train_y.shape + (1,))

尽管最好更改最初创建此train_y数组的方式。

这将生成形状为(60000, 784, 1)的数组。 根据您的期望,这可能正是您想要的,或者您可能认为这是可憎的。 无论如何, train_y[0]将具有形状(784, 1) train_y[0] (784, 1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM