目錄
- 1.橫向合并
- 1.1 concatenate方法
- 1.2 hstack方法
- 1.3 column_stack方法
- 2.縱向合并
- 2.1 concatenate方法
- 2.2 vstack方法
- 2.3 row_stack方法
先新建兩個數組用于合并
import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr1)
result:
[[1 2 3]
[4 5 6]]
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表示在數組在行方向上進行合并
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即可達到數組橫向合并的目的
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即可達到數組橫向合并的目的
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表示在數組在列方向上進行合并
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即可達到數組縱向合并的目的
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即可達到數組縱向合并的目的
print(np.row_stack((arr1, arr2)))
result:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
到此這篇關于numpy系列之數組合并(橫向和縱向)的文章就介紹到這了,更多相關numpy 數組合并內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- numpy數組合并和矩陣拼接的實現
- Python numpy實現數組合并實例(vstack,hstack)