您的位置:首页 > 编程语言 > Python开发

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

2017-03-27 22:59 651 查看
这是我个人的学习笔记,如果看到有什么错误,请在评论里随意嘲笑我这个小白><

这篇文章是接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))        #行组合


数组的基本操作就这些了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python numpy