一,數組的拼接
1,豎直拼接
import numpy as np
t1 = np.arange(30).reshape(6,5).astype(float)
t2 = np.arange(30,60).reshape(6,5).astype(float)
t1[:,3] = np.nan
t2[3,:] = np.nan
# 豎直拼接
t = np.vstack((t1,t2))
print(t)
2,水平拼接
import numpy as np
t1 = np.arange(30).reshape(6,5).astype(float)
t2 = np.arange(30,60).reshape(6,5).astype(float)
t1[:,3] = np.nan
t2[3,:] = np.nan
# 水平拼接
t = np.hstack((t1,t2))
print(t)
二,數組的行列交換
1,行交換
import numpy as np
t = np.arange(30).reshape(6,5).astype(float)
t[:,3] = np.nan
# 行交換
t[[1,2],:] = t[[2,1],:]
print(t)
2,列交換
import numpy as np
t = np.arange(30).reshape(6,5).astype(float)
t[:,3] = np.nan
# 列交換
t[:,[0,2]]] = t[:,[2,0]]
print(t)
三,維數組中進行轉置
# 第一種轉置方法
import numpy as np
temp = np.arange(30).reshape(6,5)
print(temp)
print('-'*50)
# 當不傳參的時候和T是同等效果
# 參數默認爲(0,1,2),可根據傳入參數對應更改維度值
# 例如temp = temp.transpose(1,0)
temp = temp.transpose()
print(temp)
第二種轉置方法
import numpy as np
temp = np.arange(30).reshape(6,5)
print(temp)
print('-'*50)
temp = temp.T
print(temp)
第三種轉置方法
import numpy as np
temp = np.arange(30).reshape(6,5)
print(temp)
print('-'*50)
# 與transpose類似,將傳入的維度參數交換
temp = temp.swapaxes(1,0)
print(temp)
四,翻轉90度
import numpy as np
temp = np.arange(20).reshape(4,5)
print(temp)
temp = temp.T
temp[:,:] = temp[:,[3,2,1,0]]
print(temp)
# -------------output---------------------
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]]
[[15 10 5 0]
[16 11 6 1]
[17 12 7 2]
[18 13 8 3]
[19 14 9 4]]
五,拼接實例
import numpy as np
# dtype爲int保證數組爲十進制
number1 = np.loadtxt('./number1.csv',delimiter=',',dtype=int)
number2 = np.loadtxt('./number2.csv',delimiter=',',dtype=int)
# dtype爲int保證數組爲十進制
# zeros、ones中傳入數組shape
num0 = np.zeros((number1.shape[0],1)).astype(int)
num1 = np.ones((number2.shape[0],1)).astype(int)
number1 = np.hstack((number1,num0))
number2 = np.hstack((number2,num1))
totle_num = np.vstack((number1,number2))
print(totle_num)