簡體   English   中英

重塑numpy數組/嵌套數組

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

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