numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)


Posted in Python onApril 28, 2020

numpy库对多维数组有非常灵巧的处理方式,主要的处理方法有:

.reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变

.resize(shape) : 与.reshape()功能一致,但修改原数组

In [22]: a = np.arange(20)
#原数组不变
In [23]: a.reshape([4,5])
Out[23]:
array([[ 0, 1, 2, 3, 4],
    [ 5, 6, 7, 8, 9],
    [10, 11, 12, 13, 14],
    [15, 16, 17, 18, 19]])

In [24]: a
Out[24]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19])

#修改原数组
In [25]: a.resize([4,5])

In [26]: a
Out[26]:
array([[ 0, 1, 2, 3, 4],
    [ 5, 6, 7, 8, 9],
    [10, 11, 12, 13, 14],
    [15, 16, 17, 18, 19]])

.swapaxes(ax1,ax2) : 将数组n个维度中两个维度进行调换,不改变原数组

In [27]: a.swapaxes(1,0)
Out[27]:
array([[ 0, 5, 10, 15],
    [ 1, 6, 11, 16],
    [ 2, 7, 12, 17],
    [ 3, 8, 13, 18],
    [ 4, 9, 14, 19]])

.flatten() : 对数组进行降维,返回折叠后的一维数组,原数组不变

In [29]: a.flatten()
Out[29]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19])

到此这篇关于numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)的文章就介绍到这了,更多相关numpy ndarray多维数组维度变换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
pandas DataFrame数据转为list的方法
Apr 11 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
Jun 22 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
对python3中, print横向输出的方法详解
Jan 28 Python
python获取点击的坐标画图形的方法
Jul 09 Python
python实现多进程通信实例分析
Sep 01 Python
python super用法及原理详解
Jan 20 Python
Python使用monkey.patch_all()解决协程阻塞问题
Apr 15 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
Python3 pywin32模块安装的详细步骤
May 26 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 Python
简单了解python shutil模块原理及使用方法
Apr 28 #Python
python脚本监控logstash进程并邮件告警实例
Apr 28 #Python
用Python在Excel里画出蒙娜丽莎的方法示例
Apr 28 #Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 #Python
python实时监控logstash日志代码
Apr 27 #Python
python实现秒杀商品的微信自动提醒功能(代码详解)
Apr 27 #Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 #Python
You might like
PHP集成FCK的函数代码
2008/09/27 PHP
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
js 深拷贝函数
2008/12/04 Javascript
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中的类学习笔记
2014/09/23 Python
跟老齐学Python之变量和参数
2014/10/10 Python
python开发中range()函数用法实例分析
2015/11/12 Python
深入了解Python数据类型之列表
2016/06/24 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
python 画函数曲线示例
2019/12/04 Python
python 负数取模运算实例
2020/06/03 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
后勤自我鉴定
2013/10/13 职场文书
先进个人获奖感言
2014/01/24 职场文书
出生公证书样本
2014/04/04 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
保管员岗位职责
2015/02/14 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书