我從數據集中成對提取數據點。一對由2個numpy陣列組成,每個陣列形狀爲(3, 30, 30)
。我們稱它們爲X1
和Y1
。然後下一對將是X2
和Y2
,其次是X3
和Y3
等。我不知道總共有多少對,所以我不得不使用類似np.append
之類的東西。將一對特定格式的numpy數組添加到第三個數組
所以,我想是這樣的:
>>X1, Y1 = extract_X_and_Y_from_data(data)
>>pair1 = np.array([X1, Y1])
>>pair1.shape
(2, 3, 30, 30)
>>list_of_pairs.some_append_function(pair1)
>>list_of_pairs.shape
(1, 2, 3, 30, 30)
>>X2, Y2 = extract_X_and_Y_from_data(data)
>>pair2 = np.array([X2, Y2])
>>list_of_pairs.some_append_function(pair2)
>>list_of_pairs.shape
(2, 2, 3, 30, 30)
...
>>X50, Y50 = extract_X_and_Y_from_data(data)
>>pair50 = np.array([X50, Y50])
>>list_of_pairs.some_append_function(pair50)
>>list_of_pairs.shape
(50, 2, 3, 30, 30)
所有的一切,我需要最終list_of_pairs是形狀(no_of_pairs, 2, 3, 30, 30)
的numpy的陣列。 np.append
總是給我(no_of_pairs, 2)
,我不太清楚爲什麼。
注:np.concatenate
,vstack
或hstack
是棘手的實現,因爲它們似乎無法執行的第一個實例,即,附加在第一對到最初爲空的list_of_pairs
。
謝謝!
使用'hstack'等等,你只需要用一個空的數組'seed',像正確的形狀,比如'(0,2,3,30,30)'。 – Julien
從形狀的o/p數組開始:'(no_of_pairs,2,3,30,30)'並迭代地通過索引賦值給它。所以,用第一對:'out [0,0] = X1,out [0,1] = Y1';第二對:'out [1,0] = X2,out [1,1] = Y2,'等等。 – Divakar
@Divakar對的數量是不知道的... – Julien