日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

numpy拼接矩陣的實(shí)現(xiàn)_python

作者:頭戴面包圈 ? 更新時間: 2022-10-07 編程語言

1、文檔

使用numpy的 concatenate 拼接矩陣,文檔里面這樣解釋:

numpy.concatenate((a1, a2, ...), axis=0, out=None, dtype=None, casting="same_kind")

(a1, a2, ...):連接的數(shù)組必須有一樣的維度;

axis:拼接的方向;

out:預(yù)設(shè)輸出矩陣的大小

…………

2、舉例

首先給定兩個矩陣:

rotation = np.array([[1, 2, 3],
                     [4, 5, 6],
                     [7, 8, 9]])
 
trans = np.array([[7],
                  [8],
                  [0]])

①:在第一個矩陣后面加上第二個矩陣(加一列):

z = np.concatenate((rotation, trans), axis=1)

輸出為:

[[1 2 3 7]
?[4 5 6 8]
?[7 8 9 0]]

②:以及在矩陣下面加一個全零行:

add_arr = np.array([[0, 0, 0, 0]])
array_by_add = np.concatenate((z, add_arr), axis=0)

輸出:

[[1 2 3 7]
?[4 5 6 8]
?[7 8 9 0]
?[0 0 0 0]]

③:把矩陣填充為對角矩陣:

第一個為3×3矩陣,第二個為2×3矩陣。

arr1 = np.array([[2, 3, 4],
                 [3, 4, 5],
                 [4, 5, 6]])
arr2 = np.array([[7, 8, 9],
                 [8, 9, 10]])
 
arr_zeros1 = np.zeros((arr2.shape[1], arr1.shape[0]))
print(arr_zeros1)
arr_zeros2 = np.zeros((arr2.shape[0], arr1.shape[1]))
print(arr_zeros2)
total_arr1 = np.concatenate((arr1, arr_zeros1), axis=1)
total_arr2 = np.concatenate((arr_zeros2, arr2,), axis=1)
total_arr = np.concatenate((total_arr1, total_arr2), axis=0)
print(total_arr)

拼接之后結(jié)果如下:

[5 6]
[[0. 0. 0.]
?[0. 0. 0.]
?[0. 0. 0.]]
[[0. 0. 0.]
?[0. 0. 0.]]
[[ 2. ?3. ?4. ?0. ?0. ?0.]
?[ 3. ?4. ?5. ?0. ?0. ?0.]
?[ 4. ?5. ?6. ?0. ?0. ?0.]
?[ 0. ?0. ?0. ?7. ?8. ?9.]
?[ 0. ?0. ?0. ?8. ?9. 10.]]

官方文檔地址:numpy官網(wǎng)地址

原文鏈接:https://blog.csdn.net/Arhonbt/article/details/125746727

欄目分類
最近更新