标题:
Numpy 模块基础学习(5)
[打印本页]
作者:
look_w
时间:
2019-2-19 16:25
标题:
Numpy 模块基础学习(5)
5. 数组的合并
简单的数组合并使用vstack()和hstack()即可,而对于复杂的合并使用concatenate()则更简单。
>>>import numpy as np
>>>a=np.array([1,1,1])
>>>b=np.array([2,2,2])
>>>np.vstack((a,b)) # vstack()进行纵向合并,也即堆叠
array([[1, 1, 1],
[2, 2, 2]])
>>>np.hstack(a,b) # hstack()进行横向合并
array([1, 1, 1, 2, 2, 2])
对于一维数组,无法进行转置,需要先进行一些改变
>>>import numpy as np
>>>a=np.array([1,1,1])[np.newaxis,:] # 1行3列
>>>a.shape
(1,3)
>>>b=np.array([2,2,2])[:,np.newaxis] # 3行1列
>>>b.shape
(3,1)
>>>np.vstack((b,b))
array([[2],
[2],
[2],
[2],
[2],
[2]])
要合并多个矩阵或者序列时,则用concatenate会更方便
>>>import numpy as np
>>>a=np.array([1,1,1])[:,np.newaxis]
>>>b=np.array([2,2,2])[:,np.newaxis]
>>>np.concatenate((a,b,b,a),axis=0) # axis=0 表示按行堆叠纵向合并
array([[1],
[1],
[1],
[2],
[2],
[2],
[2],
[2],
[2],
[1],
[1],
[1]])
>>>np.concatenate((a,b,b,a),axis=1) # axis=1表示横向以增加列的方式合并
array([[1, 2, 2, 1],
[1, 2, 2, 1],
[1, 2, 2, 1]])
---------------------
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0