我對這兩種方法有點困惑:連接和堆疊
連接和堆疊提供完全相同的輸出,它們之間有什么區別?
使用:連接
import numpy as np
my_arr_1 = np.array([ [1,4] , [2,7] ])
my_arr_2 = np.array([ [0,5] , [3,8] ])
join_array=np.concatenate((my_arr_1,my_arr_2),axis=0)
print(join_array)
使用:堆疊
import numpy as np
my_arr_1 = np.array([ [1,4] , [2,7] ])
my_arr_2 = np.array([ [0,5] , [3,8] ])
join1_array=np.stack((my_arr_1,my_arr_2),axis=0)
print(join1_array)
兩者的輸出相同:
[[[1 4]
[2 7]]
[[0 5]
[3 8]]]
uj5u.com熱心網友回復:
In [160]: my_arr_1 = np.array([ [1,4] , [2,7] ])
...: my_arr_2 = np.array([ [0,5] , [3,8] ])
...:
...: join_array=np.concatenate((my_arr_1,my_arr_2),axis=0)
In [161]: join_array
Out[161]:
array([[1, 4],
[2, 7],
[0, 5],
[3, 8]])
In [162]: _.shape
Out[162]: (4, 2)
concatenate 在現有軸上加入 2 個陣列,因此 (2,2) 變為 (4,2)。
In [163]: join1_array=np.stack((my_arr_1,my_arr_2),axis=0)
In [164]: join1_array
Out[164]:
array([[[1, 4],
[2, 7]],
[[0, 5],
[3, 8]]])
In [165]: _.shape
Out[165]: (2, 2, 2)
stack在一個新的軸上加入他們。它實際上使它們都變成 (1,2,2) 形狀,然后使用concatenate.
相應的檔案應該清楚地說明這一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/361999.html
