数组的形状

简介: 【5月更文挑战第6天】数组的形状。

数组对象的shape属性可用于查看或改变数组的形状,示例代码如下。

a=np.arange(12) #创建一维数组,其中共有12个元素
a
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
a.shape #查看数组形状
(12,)
a.shape=(2,-1) #更改数组形状为2行,-1表示每行中的元素个数自动计算
a
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
reshape()方法可更改数组形状,并返回更改后的新数组,示例代码如下。

a.reshape((3,-1)) #更改数组形状,返回新数组
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
a.reshape((2,3)) #reshape()方法不能减少或增加数组元素个数
Traceback (most recent call last):
File "", line 1, in
ValueError: cannot reshape array of size 12 into shape (2,3)
resize()方法的refcheck参数为False时,可在改变形状的同时更改元素个数,示例代码如下。
a.resize((3,4)) #更改形状
a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
a.resize((2,3),refcheck=False) #更改形状并减少元素个数
a
array([[0, 1, 2],
[3, 4, 5]])
a.resize((2,5),refcheck=False) #增加元素个数
a
array([[0, 1, 2, 3, 4],
[5, 0, 0, 0, 0]])
np.ravel()函数可将数组转换为一维数组,示例代码如下。
a=np.arange(12)
a.resize((3,4))
a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
np.ravel(a) #返回一维数组,默认行优先
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
np.ravel(a,order='F') #返回一维数组,列优先
array([ 0, 4, 8, 1, 5, 9, 2, 6, 10, 3, 7, 11])

目录
相关文章
|
6月前
|
存储 机器学习/深度学习 算法
【算法训练-数组 三】【数组矩阵】螺旋矩阵、旋转图像、搜索二维矩阵
【算法训练-数组 三】【数组矩阵】螺旋矩阵、旋转图像、搜索二维矩阵
85 0
|
1月前
|
机器学习/深度学习 人工智能
求一个3*3矩阵对角线元素之和
求一个3*3矩阵对角线元素之和。
23 14
|
5月前
|
存储
不会吧,不会吧,还在直接写二维数组?康康我一维变二维
不会吧,不会吧,还在直接写二维数组?康康我一维变二维
vector打印锯齿矩阵
vector打印锯齿矩阵
|
6月前
|
C++ 容器
[C++] 对二维数组中的二维坐标点x,y进行排序
[C++] 对二维数组中的二维坐标点x,y进行排序
189 0
|
机器学习/深度学习 存储 人工智能
第3章 数组与矩阵——3.2 矩阵操作
第3章 数组与矩阵——3.2 矩阵操作
|
前端开发 图形学
二维空间下的向量旋转
向量运算是计算机图形学的数学基础,而向量的旋转是向量的一种常见操作,本文将详细讲解向量在二维空间下的旋转原理。
810 0
二维空间下的向量旋转
|
网络架构 Python
矩阵各行元素之和
矩阵各行元素之和
91 0
R7-5 求矩阵各行元素之和
R7-5 求矩阵各行元素之和
105 0
|
人工智能 Java 算法框架/工具
二维前缀和数组&二维差分数组
二维差分数组div中的每一个格子记录的是「以当前位置为区域的左上角(区域右下角恒定为原数组的右下角)的值的变化量」【应该不固定 可以倒转】
349 0
二维前缀和数组&二维差分数组