0
我有一定的陣列,說A1與下面形狀重塑numpy的陣列/嵌套陣列
a1.shape
(1L, 36L)
我要修改的這個陣列的形狀,使得所期望的輸出應該類似
a1.shape
(1L,)
a1[0].shape
(36L,)
我該如何做到這一點?
我有一定的陣列,說A1與下面形狀重塑numpy的陣列/嵌套陣列
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
我需要像這樣做的原因是因爲我有串聯A1到具有形狀(2L)另一個陣列和本每行數組的形狀(36L,)。兩個陣列形狀(1L,36L)和(2L,)的連接是我的最終目標。 –
那麼,其他數組是一個2元素對象數組?你是如何構建它的? – hpaulj
是的,另一個數組表示'b1'是(2L,),每一行都是形狀的(36L,)。諸如結構的原因是因爲我通過列表理解循環(網頁的順序解析)獲取數組。現在,我不是將中間輸出轉換爲numpy數組,而是將它們保存爲「列表」對象。如果你能指導我學習一些運行列表理解的方法,我會非常感激 –