浅谈numpy中np.array()与np.asarray的区别以及.tolist


Posted in Python onJune 03, 2020

array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。

1.输入为列表时

a=[[1,2,3],[4,5,6],[7,8,9]]
b=np.array(a)
c=np.asarray(a)
a[2]=1
print(a)
print(b)
print(c)

浅谈numpy中np.array()与np.asarray的区别以及.tolist

从中我们可以看出np.array与np.asarray功能是一样的,都是将输入转为矩阵格式。当输入是列表的时候,更改列表的值并不会影响转化为矩阵的值。

2.输入为数组时

a=np.random.random((3,3))
print(a.dtype)
b=np.array(a,dtype='float64')
c=np.asarray(a,dtype='float64')
a[2]=2
print(a)
print(b)
print(c)

浅谈numpy中np.array()与np.asarray的区别以及.tolist

从上述结果我们可以看出np.array与np.asarray的区别,其在于输入为数组时,np.array是将输入copy过去而np.asarray是将输入cut过去,所以随着输入的改变np.array的输出不变,而np.asarray的输出在变化,并且当我们使用np.asarray改变其类型的时候(输入是float64,改为float32),这样当输入改变的时候,np.asarray的输出也不会改变。

3.array类型转为list类型

a=np.random.random((3,3))
print(a.dtype)
b=a.tolist()
a[1]=2
print(a)
print(b)

浅谈numpy中np.array()与np.asarray的区别以及.tolist

从上述我们可以看到.tolist是将数组转为list的格式,等同于np.array的反向,那什么情况下需要将np.ndarray转为list的格式呢?当需要序列化的时候(serialization),由于np.ndarray是不可序列化的。

补充知识:opencv 将int类型数字转换为固定长度的字符串cv::format

int currentFrame = 2;

stringstream frame_name;
frame_name << cv::format("%.3d",currentFrame) << ".jpg";

或者:

String save_frame_path;
save_frame_path = cv::format("%.3d", frame_num) + ".jpg";

以上这篇浅谈numpy中np.array()与np.asarray的区别以及.tolist就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
Python自动登录126邮箱的方法
Jul 10 Python
详解python之简单主机批量管理工具
Jan 27 Python
用python实现对比两张图片的不同
Feb 05 Python
python 列表降维的实例讲解
Jun 28 Python
Python 常用模块 re 使用方法详解
Jun 06 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 Python
python中__slots__节约内存的具体做法
Jul 04 Python
Python Matplotlib库实现画局部图
Nov 17 Python
Python实现双向链表基本操作
May 25 Python
基于Python绘制美观动态圆环图、饼图
Jun 03 #Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 #Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 #Python
python golang中grpc 使用示例代码详解
Jun 03 #Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 #Python
QML用PathView实现轮播图
Jun 03 #Python
Python基于smtplib协议实现发送邮件
Jun 03 #Python
You might like
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
javascript新手语法小结
2008/06/15 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
跟老齐学Python之网站的结构
2014/10/24 Python
在Python中使用HTML模版的教程
2015/04/29 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
python 如何将office文件转换为PDF
2020/09/22 Python
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
《望庐山瀑布》教学反思
2014/04/22 职场文书
入团申请书格式
2019/06/20 职场文书
改造DE1103三步曲
2022/04/07 无线电
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL