详谈Numpy中数组重塑、合并与拆分方法


Posted in Python onApril 17, 2018

1.数组重塑

1.1一维数组转变成二维数组

通过reshape( )函数即可实现,假设data是numpy.array类型的一维数组array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),现将其转变为2行5列的二维数组,代码如下:

data.reshape((2,5))

作为参数的形状的其中一维可以是-1,它表示该维度的大小由数据本身推断而来,因此上面代码等价于:

data.reshape((2,-1))

1.2二维数组转换成一维数组

将多维数组转换成一维数组的运算通常称为扁平化(flattening)或散开(raveling),因此有两个函数可供选择。执行代码如下:

data.ravel() # 不会产生源数据的副本
data.flatten() # 总是返回数据的副本

关于这两点的区别,理解的不是很透彻。有人懂得话,欢迎评论交流。

2.数组的合并和拆分

2.1数组的合并

numpy提供许多数组合并的方法,这里只介绍最为常用的一种,即concatenate方法,代码如下:

arr1 = np.array([[1,2,3], [4,5,6]])
arr2 = np.array([[7,8,9], [10,11,12]])
data = np.concatenate([arr1, arr2], axis=0) # axis参数指明合并的轴向,0表示按行,1表示按列

2.2数组的拆分

这里只介绍split函数

np.split(data, [1], axis=0)#data为拆分的数组,[1]为拆分的行号或列号,axis表明按列或者行进行拆分(默认为0,即按行拆分)

以上这篇详谈Numpy中数组重塑、合并与拆分方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
初步探究Python程序的执行原理
Apr 11 Python
python通过ftplib登录到ftp服务器的方法
May 08 Python
深入理解Python中字典的键的使用
Aug 19 Python
Python模拟登录验证码(代码简单)
Feb 06 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Python基于FTP模块实现ftp文件上传操作示例
Apr 23 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
通过实例解析python描述符原理作用
Jan 22 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
python os.listdir()乱码解决方案
Jan 31 Python
用Python提取PDF表格的方法
Apr 11 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 Python
基于numpy.random.randn()与rand()的区别详解
Apr 17 #Python
Python实现求解括号匹配问题的方法
Apr 17 #Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 #Python
对numpy中array和asarray的区别详解
Apr 17 #Python
django 开发忘记密码通过邮箱找回功能示例
Apr 17 #Python
Python实现购物车程序
Apr 16 #Python
神经网络(BP)算法Python实现及应用
Apr 16 #Python
You might like
PHP 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
python数据结构之二叉树的建立实例
2014/04/29 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
python实现图像拼接功能
2020/03/23 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
世界上最大的二手相机店:KEN
2017/05/17 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
急诊科护士自我鉴定
2013/10/14 职场文书
优秀求职信
2014/05/29 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
倡议书格式及范文
2015/04/29 职场文书
美丽心灵观后感
2015/06/01 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
java设计模式--七大原则详解
2021/07/21 Java/Android
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang