簡體   English   中英

numpy創建矩陣數組

[英]Numpy create an array of matrices

我正在嘗試將矩陣存儲到數組中,但是當我追加矩陣時,它將獲取每個元素並僅輸出一維數組。

示例代碼:

matrix_array= np.array([])
for y in y_label:
      matrix_array= np.append(matrix_array, np.identity(3))

顯然, np.append是這項工作的錯誤工具:

In [144]: np.append(np.array([]), np.identity(3))
Out[144]: array([ 1.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  1.])

從其文檔:

如果未指定axis ,則values可以是任何形狀,並且在使用前將被展平。

附有清單

In [153]: alist=[]
In [154]: for y in [1,2]:
     ...:     alist.append(np.identity(3))
     ...:    
In [155]: alist
Out[155]: 
[array([[ 1.,  0.,  0.],
        [ 0.,  1.,  0.],
        [ 0.,  0.,  1.]]), array([[ 1.,  0.,  0.],
        [ 0.,  1.,  0.],
        [ 0.,  0.,  1.]])]
In [156]: np.array(alist)
Out[156]: 
array([[[ 1.,  0.,  0.],
        [ 0.,  1.,  0.],
        [ 0.,  0.,  1.]],

       [[ 1.,  0.,  0.],
        [ 0.,  1.,  0.],
        [ 0.,  0.,  1.]]])
In [157]: _.shape
Out[157]: (2, 3, 3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM