Numpy-矩阵的合并
生活随笔
收集整理的這篇文章主要介紹了
Numpy-矩阵的合并
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import numpy as nparr1 = np.array([1,2,3])
arr2 = np.array([4,5,6])#矩陣的垂直合并
arr3 = np.vstack((arr1,arr2))
print(arr3)
[[1 2 3][4 5 6]]#矩陣的水平合并
arr4 = np.hstack((arr1,arr2))
print(arr4)
[1 2 3 4 5 6]#3個矩陣的垂直合并
arrv = np.vstack((arr1,arr2,arr3))
print(arrv)
[[1 2 3][4 5 6][1 2 3][4 5 6]]#3個矩陣的水平合并
arrh = np.hstack((arr1,arr2,arr4))
print(arrh)
[1 2 3 4 5 6 1 2 3 4 5 6]#合并的一般方式 默認是水平合并
arr = np.concatenate((arr1,arr2,arr1))
print(arr)
[1 2 3 4 5 6 1 2 3]#axis = 0代表是縱向的合并,注意合并的array維度需要先相同,形狀要匹配
arr = np.concatenate((arr3,arrv),axis = 0)
print(arr)
[[1 2 3][4 5 6][1 2 3][4 5 6][1 2 3][4 5 6]]#axis = 1代表是橫向的合并,注意合并的array維度需要先相同,形狀要匹配
arr = np.concatenate((arr3,arr3),axis = 1)
print(arr)
[[1 2 3 1 2 3][4 5 6 4 5 6]]#對1維的矩陣進行轉置發現輸出沒有變化,說明一維的矩陣不能轉置
print(arr1.T)
[1 2 3]print(arr1.T.shape)
(3,)#給1維的矩陣第一個維度上加一個維度,這時候就可以進行轉置
arr1_1 = arr1[np.newaxis,:]
print(arr1_1)
[[1 2 3]]
print(arr1_1.shape)
(1, 3)
print(arr1_1.T)
[[1][2][3]]#給1維的矩陣第二個維度上加一個維度
arr1_2 = arr1[:,np.newaxis]
print(arr1_2)
[[1][2][3]]
print(arr1_2.shape)#(3,1)
(3, 1)#np.atleast_2d會判斷矩陣是否是1維的矩陣,如果是的話將其轉化為2維的矩陣,如果不是的話不做改變
#np.atleast2d:字面意思至少是兩維
arr1_3 = np.atleast_2d(arr1)
print(arr1_3)
[[1 2 3]]
print(arr1_3.T)#(3,1)
[[1][2][3]]
arr1_4 = np.atleast_3d(arr1)
print(arr1_4)
[[[1][2][3]]]#如果是超過2維的矩陣不做改變
arr_3d = np.random.random((3,2,3))
print(arr_3d)
[[[0.4324091 0.64994402 0.12787534][0.6124248 0.90403621 0.19718013]][[0.26517375 0.43147199 0.97764531][0.17105938 0.96694364 0.7580243 ]][[0.0946729 0.59033163 0.12797012][0.17993213 0.41231472 0.2179005 ]]]arr1_3 = np.atleast_2d(arr_3d)
print(arr1_3)
[[[0.4324091 0.64994402 0.12787534][0.6124248 0.90403621 0.19718013]][[0.26517375 0.43147199 0.97764531][0.17105938 0.96694364 0.7580243 ]][[0.0946729 0.59033163 0.12797012][0.17993213 0.41231472 0.2179005 ]]]
總結
以上是生活随笔為你收集整理的Numpy-矩阵的合并的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Numpy-查看数组的属性
- 下一篇: Numpy-矩阵的分割