python numpy操作数组学习笔记(二)数组的分割和组合

这是我个人的学习笔记,如果看到有什么错误,请在评论里随意嘲笑我这个小白><
这篇文章是接python初学者学习笔记(二)数组的操作的,都是使用numpy模块
一、数组的水平组合

import numpy as np

b = [[3, 2, 1], [6, 5, 4], [9, 8, 7]]   #生成两个数组
b = np.array(b)
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
a = np.array(a)                         #转化为数组
a = np.hstack((a, b))                   #数组的横向组合

生成结果:
[[1 2 3 3 2 1]
[4 5 6 6 5 4]
[7 8 9 9 8 7]]

二、数组的垂直组合
在上面的基础上,改一行代码:

a = np.vstack((a, b))  #数组的纵向组合

生成结果:
[[1 2 3]
[4 5 6]
[7 8 9]
[3 2 1]
[6 5 4]
[9 8 7]]

三、数组的深度组合
就是把每个数组放在三维空间中,数组平行于x,y轴组成的平面,在z轴方向上对两个数组进行叠加,如图:
要歪着头看...
同样是一个语句:

a = np.dstack((a, b))

输出结果是:
[[[1 3]
[2 2]
[3 1]]

[[4 6]
[5 5]
[6 4]]

[[7 9]
[8 8]
[9 7]]]

四、列组合与行组合
通过下面的语句可以将两个一维数组进行列组合和行组合

c = [1, 0]
d = [0, 1]
a = np.column_stack((c, d))    #列组合
a = np.row_stack((c, d))       #行组合

五、数组的各种分割
就是把上面的模块中的stack换成split,如下:

a = np.hsplit((a, b))           #垂直组合
a = np.vsplit((a, b))           #水平组合
a = np.dsplit((a, b))           #深度组合
a = np.colum_split((a, b))      #列组合
a = np.row_split((a, b))        #行组合

数组的基本操作就这些了

猜你喜欢

转载自blog.csdn.net/weixin_37608233/article/details/67066871