注:本系類筆記采用的是Python3.5X版本浮禾,編程環(huán)境為Windows64位下的Anaconda
所有代碼部分均為連續(xù)的,“結(jié)果”為在jupyter分步運行結(jié)果
代碼部分:
import numpy as np
arr1 = np.array([1,2,3])
arr2 = np.array([4,5,6])
arr3 = np.vstack((arr1,arr2))#垂直合并
print(arr3)
print(arr3.shape)
結(jié)果:(arr3編程一個二位矩陣)
[[1 2 3]
[4 5 6]]
(2, 3)
arr4 = np.hstack((arr1,arr2))#水平合并
print(arr4)
print(arr4.shape)
結(jié)果:
[1 2 3 4 5 6]
(6,)
arrv = np.vstack((arr1,arr2,arr3))#多個一起合并
print(arrv)
結(jié)果:
[[1 2 3]
[4 5 6]
[1 2 3]
[4 5 6]]
arrh = np.hstack((arr1,arr2,arr4))
print(arrh)
結(jié)果:
[1 2 3 4 5 6 1 2 3 4 5 6]
————————————————————————
以下是另外一種合并方式
arr = np.concatenate((arr1,arr2,arr1))
print(arr)
結(jié)果:
[1 2 3 4 5 6 1 2 3]
arr = np.concatenate((arr3,arrv),axis=0)#合并的array維度要相同旭等,array形狀要匹配瓦盛,axis=0縱向合并(垂直)
print(arr)
結(jié)果:
[[1 2 3]
[4 5 6]
[1 2 3]
[4 5 6]
[1 2 3]
[4 5 6]]
arr = np.concatenate((arr3,arr3),axis=1)#合并的array維度要相同遣铝,array形狀要匹配,axis=1橫向合并
print(arr)
結(jié)果:
[[1 2 3 1 2 3]
[4 5 6 4 5 6]]
————————————————————————————
以下是一維arry的性質(zhì)
arr1.T
print(arr1.T) #一維的array不能轉(zhuǎn)置
結(jié)果:
[1 2 3]
print(arr1.shape)
結(jié)果:
(3,)
arr1_1 = arr1[np.newaxis,:]#給一維數(shù)組的行加一個維度
print(arr1_1)
print(arr1_1.shape)
結(jié)果:
[[1 2 3]]
(1, 3)
print(arr1_1.T)
結(jié)果:
[[1]
[2]
[3]]
arr1_2 = arr1[:,np.newaxis]給一維數(shù)組的列加一個維度
print(arr1_2)
print(arr1_2.shape)
結(jié)果:
[[1]
[2]
[3]]
(3, 1)
arr1_3 = np.atleast_2d(arr1)
#判斷arr1治唤,如果小于2維,則變?yōu)?維數(shù)據(jù)糙申,高維不影響
#還有atleast_3d同理宾添,變?nèi)S
print(arr1_3)
print(arr1_3.T)
結(jié)果:
[[1 2 3]]
[[1]
[2]
[3]]