购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 数据合并与展平

在机器学习或深度学习中,会经常遇到需要把多个向量或矩阵按某轴方向进行合并的情况,也会遇到展平的情况,如在卷积或循环神经网络中,在全连接层之前,需要把矩阵展平。这节介绍几种数据合并和展平的方法。

1.合并一维数组

import numpy as np
a=np.array([1,2,3])
b=np.array([4,5,6])
c=np.append(a,b)
print(c)
#或利用concatenate
d=np.concatenate([a,b])
print(d)

打印结果:


[1 2 3 4 5 6]
[1 2 3 4 5 6]

2.多维数组的合并

import numpy as np
a=np.arange(4).reshape(2,2)
b=np.arange(4).reshape(2,2)
#按行合并
c=np.append(a,b,axis=0)
print(c)
print("合并后数据维度",c.shape)
#按列合并
d=np.append(a,b,axis=1)
print("按列合并结果:")
print(d)
print("合并后数据维度",d.shape)

打印结果:


[[0 1]
 [2 3]
 [0 1]
 [2 3]]
合并后数据维度 (4, 2)
按列合并结果:
[[0 1 0 1]
 [2 3 2 3]]
合并后数据维度 (2, 4)

3.矩阵展平

import numpy as np
nd15=np.arange(6).reshape(2,-1)
print(nd15)
#按照列优先,展平。
print("按列优先,展平")
print(nd15.ravel('F'))
#按照行优先,展平。
print("按行优先,展平")
print(nd15.ravel())

打印结果: ZA/9c9Oq4ZSvEBQUJHiPR3aU6N0pm+GW6fF50WdnnHv3TtVxYhoKL5j0vsRl5i5+


[[0 1 2]
 [3 4 5]]
按列优先,展平
[0 3 1 4 2 5]
按行优先,展平
[0 1 2 3 4 5]

点击中间区域
呼出菜单
上一章
目录
下一章
×