[英]reshaping numpy array / nested arrays
我有一個特定的數組,例如下面的形狀說a1
a1.shape
(1L, 36L)
我想修改此數組的形狀,以便所需的輸出應類似於
a1.shape
(1L,)
a1[0].shape
(36L,)
我怎樣才能做到這一點?
我懷疑您是否理解您的要求。 但是,這是執行此操作的方法(對於較小的數組):
In [48]: a1=np.arange(6).reshape(1,6)
In [49]: a1.shape
Out[49]: (1, 6)
In [50]: a2=np.zeros((1,),dtype=object)
In [51]: a2[0]=a1[0]
In [52]: a2.shape
Out[52]: (1,)
In [53]: a2[0].shape
Out[53]: (6,)
In [54]: a1
Out[54]: array([[0, 1, 2, 3, 4, 5]])
In [55]: a2
Out[55]: array([array([0, 1, 2, 3, 4, 5])], dtype=object)
當允許創建和使用多維數組時, numpy
效果最佳。 嘗試創建一個數組數組或嵌套數組是可能的,但是很尷尬。
但是也許您真正想要的是一個嵌套列表:
In [56]: al = a1.tolist()
In [57]: al
Out[57]: [[0, 1, 2, 3, 4, 5]]
In [58]: len(al)
Out[58]: 1
In [59]: len(al[0])
Out[59]: 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.