1、数组的拼接
import numpy as np
t1 = np.array([[0, 1, 2, 3, 4, 5],
[6, 7, 8, 9, 10, 11]])
t2 = np.array([[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]])
print(np.vstack((t1, t2))) # 竖直拼接
print(np.hstack((t1, t2))) # 水平拼接
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]
[12 13 14 15 16 17][18 19 20 21 22 23]]
[[ 0 1 2 3 4 5 12 13 14 15 16 17]
[ 6 7 8 9 10 11 18 19 20 21 22 23]]
此处注意:对于切割,与上互逆
竖直拼接的时候:每一列代表的意义相同!!!否则牛头不对马嘴,如果每一列的意义不同,这个时候应该交换某一组的数的列,让其和另外一类相同。
2、数组的行列交换
import numpy as np
t = np.array([[0, 1, 2, 3, 4, 5],
[6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17]])
t[[1, 2], :] = t[[2, 1], :] # 行交换
print(t)
print("-----------------------------")
t[:, [0, 2]] = t[:, [2, 0]] # 列交换
print(t)
[[ 0 1 2 3 4 5]
[12 13 14 15 16 17][ 6 7 8 9 10 11]]
[[ 2 1 0 3 4 5]
[14 13 12 15 16 17]
[ 8 7 6 9 10 11]]
3、numpy更多好用的方法
- 获取最大值最小值的位置
-
- np.argmax(t,axis=0)
- np.argmin(t,axis=1)
- 创建一个全0的数组: np.zeros((3,4))
- 创建一个全1的数组:np.ones((3,4))
- 创建一个对角线为1的正方形数组(方阵):np.eye(3)