Numpy5——数组的扩充(相加、复制、广播)排序,形状调整
数组扩充
数组扩充:通过对原始数据进行各种变换来增加数据量,提高模型的泛化能力。
常见的扩充方法(拼接轴可以变,其他轴必须对齐)
np.append(数组变量,要添加的数据,axis=指定的轴)
:在指定的轴上增加指定数据np.vstack((变量,变量))
:沿着0轴进行拼接,0轴上的数量发生变化np.hstack((变量,变量))
:沿着1轴进行进行拼接,1轴上的数量发生变化np.dstack((变量,变量))
:沿着2轴进行拼接,2轴上的数量发生变化np.concatenate( (变量,变量),axis)
:沿着指定的轴进行拼接np.stack((变量,变量),axis)
:将数组在指定的维度(可以是新维度可以是已有维度)上进行堆叠(两个变量的数组形状必须是完全一致的)
a = np.arange(12).reshape(2, 2,3)
b = np.arange(12).reshape(2,2,3)
print(a)
# [[[ 0 1 2]
# [ 3 4 5]]
#
# [[ 6 7 8]
# [ 9 10 11]]]
print("----------------------")
print(b)
# [[[ 0 1 2]
# [ 3 4 5]]
#
# [[ 6 7 8]
# [ 9 10 11]]]
print("----------------------")
print(np.vstack((a,b)))
# 等价于print(np.concatenate((a,b),axis = 0))
# [[[ 0 1 2]
# [ 3 4 5]]
#
# [[ 6 7 8]
# [ 9 10 11]]
#
# [[ 0 1 2]
# [ 3 4 5]]
#
# [[ 6 7 8]
# [ 9 10 11]]]
print("----------------------")
print(np.hstack((a,b)))
# 等价于print(np.concatenate((a,b),axis = 1))
# [[[ 0 1 2]
# [ 3 4 5]
# [ 0 1 2]
# [ 3 4 5]]
#
# [[ 6 7 8]
# [ 9 10 11]
# [ 6 7 8]
# [ 9 10 11]]]
print("----------------------")
print(np.dstack((a,b)))
# 等价于print(np.concatenate((a,b),axis = 2))
# [[[ 0 1 2 0 1 2]
# [ 3 4 5 3 4 5]]
#
# [[ 6 7 8 6 7 8]
# [ 9 10 11 9 10 11]]]
print(np.stack((a,b)