Numpy 陣列合併

2021-10-03 19:30:57 字數 2047 閱讀 3849

對於乙個array的合併,我們可以想到按行、按列等多種方式進行合併。

import numpy as np

a = np.array([1

,2,3

,4,5

,6])

b = np.array([6

,5,4

,3,2

,1])

print

(a)print

(b)print

(np.vstack(

(a,b)))

#沿著豎直方向將矩陣堆疊起來

c = np.vstack(

(a,b)

)print

(c)print

(a.shape , b.shape, c.shape)

vertical stack本身屬於一種上下合併,即對括號中的兩個整體進行對應操作

左右合併

import numpy as np

a = np.array([1

,2,3

,4,5

,6])

b = np.array([6

,5,4

,3,2

,1])

d = np.hstack(

(a,b)

)print

(d)print

(a.shape, b.shape, d.shape)

對於非矩陣,此時就需要我們借助其他的函式操作進行轉置:

import numpy as np

a = np.array([1

,2,3

,4,5

,6])

print

(a)print

(a.shape)

print

(a[np.newaxis,:]

)#在行方向加了乙個維度

print

(a[np.newaxis,:]

.shape)

print

(a[:

,np.newaxis]

)#在列方向加了乙個維度

print

(a[:

,np.newaxis]

.shape)

import numpy as np

a = np.array([1

,2,3

,4,5

,6])

[:,np.newaxis]

#在列方向加了乙個維度

b = np.array([6

,5,4

,3,2

,1])

[:,np.newaxis]

c = np.vstack(

(a,b)

)#在垂直方向合併a、b

d = np.hstack(

(a,b)

)##在水平方向合併a、b

print

(c)print

(d)print

(a.shape,b.shape,c.shape,d.shape)

當你的合併操作需要針對多個矩陣或序列時,借助concatenate函式可能會讓你使用起來比前述的函式更加方便:

import numpy as np

a = np.array([1

,2,3

,4,5

,6])

[:,np.newaxis]

b = np.array([6

,5,4

,3,2

,1])

[:,np.newaxis]

c = np.concatenate(

(a,a,b,b,a,a)

,axis =1)

print

(c)d = np.concatenate(

(a,a,b,b,a,a)

,axis =0)

print

(d)

axis能控制矩陣的橫向或縱向,相比較vstack和hstack函式顯得更加方便。

numpy 合併陣列和切割陣列

可以在不同的軸上堆積陣列 a np.floor 10 np.random.random 2,2 a array 8.8.0.0.b np.floor 10 np.random.random 2,2 b array 1.8.0.4.np.vstack a,b array 8.8.0.0.1.8.0.4...

PHP陣列 陣列合併

陣列合併函式 array merge或者 array merge 將乙個或多個陣列的單元合併起來,乙個陣列中的值附加在前乙個陣列的後面。返回作為結果的陣列。如果輸入的陣列中有相同的字串鍵名,則該鍵名後面的值將覆蓋前乙個值。然而,如果陣列包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。如果只...

php陣列合併

php的陣列在這門語言裡使用得非常多。陣列的一些常見操作像split explode,join implode,排序 sort,asort,ksort,arsort 兩陣列合併 array combine 鍵值翻轉 array flip 當然還有比較複雜的陣列合併。陣列合併至少有4種形式。1.第一種...