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 相关文章推荐
Python sys.path详细介绍
Oct 17 Python
简介Python中用于处理字符串的center()方法
May 18 Python
Python实现保证只能运行一个脚本实例
Jun 24 Python
深入解读Python解析XML的几种方式
Feb 16 Python
详解 Python中LEGB和闭包及装饰器
Aug 03 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
Python使用ctypes调用C/C++的方法
Jan 29 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
Python函数基本使用原理详解
Mar 19 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
Jun 08 Python
Python解析微信dat文件的方法
Nov 30 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php.ini 中文版
2006/10/28 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
js变量提升深入理解
2016/09/16 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
简述JS浏览器的三种弹窗
2018/07/15 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
python定向爬虫校园论坛帖子信息
2018/07/23 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
PYTHON发送邮件YAGMAIL的简单实现解析
2019/10/28 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
HTML5进度条特效
2014/12/18 HTML / CSS
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
护士毕业生自荐信
2014/02/07 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
Python图片处理之图片裁剪教程
2021/05/27 Python
浅谈Python数学建模之固定费用问题
2021/06/23 Python