先新建兩個數組用于合并
1
2
3
|
import numpy as np arr1 = np.array([[ 1 , 2 , 3 ], [ 4 , 5 , 6 ]]) print (arr1) |
result:
[[1 2 3]
[4 5 6]]
1
2
|
arr2 = np.array([[ 7 , 8 , 9 ], [ 10 , 11 , 12 ]]) print (arr2) |
result:
[[ 7 8 9]
[10 11 12]]
1.橫向合并
橫向合并就是將兩個行數相等的數組在行方向上進行簡單拼接。與DataFrame合并不太一樣,numpy數組合并不需要公共列,只是將兩個數組簡單拼接在一起,有concatenate、hstack、column_stack三種方法可以實現
1.1 concatenate方法
concatenate方法中將兩個待合并的數組以列表的形式傳遞給concatenate,并通過設置axis參數指明在行方向還是列方向上進行合并。參數axis=1表示在數組在行方向上進行合并
1
|
print (np.concatenate([arr1, arr2], axis = 1 )) |
result:
[[ 1 2 3 7 8 9]
[ 4 5 6 10 11 12]]
1.2 hstack方法
hstack方法中將兩個待合并的數組以元組的形式傳遞給hstack即可達到數組橫向合并的目的
1
|
print (np.hstack((arr1, arr2))) |
result:
[[ 1 2 3 7 8 9]
[ 4 5 6 10 11 12]]
1.3 column_stack方法
column_stack方法與hstack方法基本一致, 也是將兩個待合并的數組以元組的形式傳遞給column_stack即可達到數組橫向合并的目的
1
|
print (np.column_stack((arr1, arr2))) |
result:
[[ 1 2 3 7 8 9]
[ 4 5 6 10 11 12]]
2.縱向合并
縱向合并是將兩個列相等的數組在列方向上進行拼接,有concatenate、vstack、row_stack三種方法可以實現
2.1 concatenate方法
concatenate方法中將兩個待合并的數組以列表的形式傳遞給concatenate,并通過設置axis參數指明在行方向還是列方向上進行合并。參數axis=0表示在數組在列方向上進行合并
1
|
print (np.concatenate([arr1, arr2], axis = 0 )) |
result:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
2.2 vstack方法
vstack方法是與hstack方法相對應的方法,同樣只要將兩個待合并的數組以元組的形式傳遞給vstack即可達到數組縱向合并的目的
1
|
print (np.vstack((arr1, arr2))) |
result:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
2.3 row_stack方法
row_stack方法是與column_stack方法相對應的方法,同樣只要將兩個待合并的數組以元組的形式傳遞給row_stack即可達到數組縱向合并的目的
1
|
print (np.row_stack((arr1, arr2))) |
result:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
到此這篇關于numpy系列之數組合并(橫向和縱向)的文章就介紹到這了,更多相關numpy 數組合并內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://juejin.cn/post/7000933929452568607