Python之reshape()用法简介

最近学习Python,发现Python的reshape()与matlab的reshape()虽然都可以对数组进行重置,但有本质区别,简要总结,作为学习笔记。

下面分别介绍reshape()在matlab和python中的重置规则,并做简单对比:

1.在matlab中,reshape()按列读取,按先行后列的原则存放,例如:

若将原数组重置为2\times 4\times 2,则可用reshape(a,2,4,2):

另外,当reshape成二维时,只要确定行或列其中一个参数,另一个即可自动计算出,reshape成三维时,需确定其中两个参数。例如:

2.在Python中,reshape()默认的重置规则为按行读取,按“列行维”的顺序存放,即order='C'。order='F':表示按列读取,按“维行列”的顺序存放。

输出如下:

对于将二维数组reshape成三维,可用reshape(p,m,n,order=' ')的形式实现,其中第一个参数表示维度,例如:

输出为:

其中,order='F'时,根据上例可以发现,是按列读取元素,在新的三维数组中,按先维,再行,后列的顺序存放数据。

另外,在Python中,还可用a.reshape(-1,n)或a.reshape(m,-1)来进行运算,-1的意思是对应的维度未知,在运算过程中会根据给出的维度自动求得。例如:

需要注意的是,reshape前后数组中所有元素数目必须一致!

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值