一、数组的维数、形状和类型
a = np.array([[0, 1, 2, 3],
[4, 5, 6, 7]])
(1) 维数: np.dim()
np.shape(a)
输出结果:
(2, 4)
(2) 形状: np.shape()
np.ndim(a)
输出结果:
2
(3) 类型:数组.dtype
a.dtype
输出结果:
dtype('int32')
二、数组的变形
(1) 转置:T
np.zeros((1, 3)).T
输出结果:
array([[0.],
[0.],
[0.]])
(2)维度变换:reshape
形状改变的前提是要求数组中元素的个数是相同的。reshape能够帮助用户把原数组按照新的维度重新排列。在使用时有两种模式,分别为C模式和F模式,分别以逐行和逐列的顺序进行填充读取。
三、数组的合并操作
(1) 上下合并np.r_[ ]
np.r_[np.zeros((2, 3)), np.zeros((2, 3))]
输出结果:
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
(2) 左右合并np.c_[ ]
np.c[np.zeros((2, 3)), np.zeros((2, 3))]
输出结果:
array([[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.]])
四、拆分矩阵
拆分矩阵与合并矩阵类似,都是等分。
0为横轴,1为纵轴
x = np.arange(24).reshape(4, 6)
显示结果:
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]])
(1)axis = 1是按列进行拆分
np.split(x, 2, axis=1)
结果显示:
[array([[ 0, 1, 2],
[ 6, 7, 8],
[12, 13, 14],
[18, 19, 20]]),
array([[ 3, 4, 5],
[ 9, 10, 11],
[15, 16, 17],
[21, 22, 23]])]
(2)axis = 0是按行进行拆分
np.split(x, 2, axis=0)
结果显示:
[array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]]),
array([[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]])]
`