这是我个人的学习笔记,如果看到有什么错误,请在评论里随意嘲笑我这个小白><
这篇文章是接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)) #行组合
数组的基本操作就这些了