1.np.concatenate()
-
参数是列表或元组
-
级联的数组维度必须相同
-
可通过axis参数改变级联的方向
-
注意,
np.concatenate
函数要求所有输入数组在沿着连接轴的维度上具有相同的形状
# 导包
import numpy as np
# 创建两个二维数组
n1 = np.random.randint(0,100,size=(3,5))
n2 = np.random.randint(0,100,size=(3,5))
display(n1,n2)
# 执行结果
array([[12, 38, 49, 56, 52],
[91, 43, 59, 18, 42],
[23, 46, 95, 74, 81]])
array([[70, 42, 63, 86, 86],
[73, 55, 45, 5, 89],
[44, 47, 77, 58, 84]])
# 级联(合并),默认上下合并
# np.concatenate((n1,n2))
#上下合并 axis=0 表示第一个维度(行)
np.concatenate((n1,n2),axis=0)
# 执行结果
array([[12, 38, 49, 56, 52],
[91, 43, 59, 18, 42],
[23, 46, 95, 74, 81],
[70, 42, 63, 86, 86],
[73, 55, 45, 5, 89],
[44, 47, 77, 58, 84]])
# 左右合并 axis=1 表示第二个维度(列)
np.concatenate((n1,n2),axis=1)
# 执行结果
array([[12, 38, 49, 56, 52, 70, 42, 63, 86, 86],
[91, 43, 59, 18, 42, 73, 55, 45, 5, 89],
[23, 46, 95, 74, 81, 44, 47, 77, 58, 84]])
2.np.hstack() 与 np.vstack()
-
水平级联与垂直级联
# 导包
import numpy as np
# np.hstack:水平级联
np.hstack((n1,n2))
# 执行结果
array([[12, 38, 49, 56, 52, 70, 42, 63, 86, 86],
[91, 43, 59, 18, 42, 73, 55, 45, 5, 89],
[23, 46, 95, 74, 81, 44, 47, 77, 58, 84]])
# np.vstack:垂直级联
np.vstack((n1,n2))
# 执行结果
array([[12, 38, 49, 56, 52],
[91, 43, 59, 18, 42],
[23, 46, 95, 74, 81],
[70, 42, 63, 86, 86],
[73, 55, 45, 5, 89],
[44, 47, 77, 58, 84]])