互联网科技猿客栈人工智能

numpy 的矩阵合并与分割

2019-04-19  本文已影响97人  Kkite
aiblog4.jpg

这次分享下numpy中矩阵的合并与分割,希望能帮助到大家。

在此附上视频链接

一、引入numpy第三方库

首先我们引入numpy这个第三方库,如果有同学没安装numpy可在命令行中pip install numpy进行安装(Mac用户 sudo pip3 install numpy)

import numpy as np

二、array的合并

1.垂直合并

A = np.array([1, 1, 1])
B = np.array([2, 2, 2])
print(np.vstack((A, B)))

2.水平合并

print(np.hstack((A, B)))
C = np.array([1, 1, 1])[:, np.newaxis] # 纵向加一个维度,将array转为3行1列的矩阵
D = np.array([2, 2, 2])[:, np.newaxis]
E = np.concatenate((C, D, D, C), axis=1) # axis=1为水平合并, axis=0为垂直合并
print(E)

3.array的合并代码示例

import numpy as np

A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.array([1, 1, 1])[:, np.newaxis]    # 纵向加一个维度,将array转为3行1列的矩阵
D = np.array([2, 2, 2])[:, np.newaxis]
print('打印A与B:')
print(A)
print(B)
print('\n垂直合并:')
print(np.vstack((A, B)))
print('\n水平合并:')
print(np.hstack((A, B)))
print('\n水平合并,axis=1 为水平合并 反之为垂直合并:')
E = np.concatenate((C,D,D,C),axis=1) 
print(E)
运行效果如下: numpy6.png

三、矩阵的分割

1.水平分割

A = np.array(12).reshape((3, 4))
print(np.split(A, 2, axis=1)) # 表示对A进行分割,分为两块,axis=1为水平分割
print(np.hsplit(A, 2)) # 效果同上
print(np.array_split(A, 3, axis=1)) # 不均等分割

2.垂直分割

print(np.split(A, 3, axis=0)) # 表示对A进行分割,分为3块,axis=0为垂直分割
print(np.vsplit(A, 3)) # 效果同上
print(np.array_split(A, 2, axis=0)) # 不均等分割

3.矩阵分割代码示例

import numpy as np

A = np.arange(12).reshape((3,4))
print('打印矩阵A:')
print(A)
print('\n水平分割为两块:')
print(np.split(A, 2, axis=1))    # 表示对A进行分割,分为两块,axis=1为水平分割
print('\n垂直分割为3块:')
print(np.vsplit(A, 3)) # 不均等分割
print('\n垂直不均等分割:')
print(np.array_split(A, 2, axis=0))
运行效果如下: numpy7.png

好啦,以上就是这次对矩阵的合并与分割的一些方法。

欢迎大家在下方评论与留言或者给出建议,如有错误请指出。希望这篇博文能帮助到刚学习这个的同学,也欢迎大家分享给需要的人。

如需转载,请注明出处。

上一篇下一篇

猜你喜欢

热点阅读