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