[英]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.