浅谈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实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python实现的异步代理爬虫及代理池
Mar 17 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
python 环境变量和import模块导入方法(详解)
Jul 11 Python
Python生成器以及应用实例解析
Feb 08 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
简单了解Python生成器是什么
Jul 02 Python
python检测服务器端口代码实例
Aug 31 Python
Python中base64与xml取值结合问题
Dec 22 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
selenium3.0+python之环境搭建的方法步骤
Feb 01 Python
python基于tkinter制作无损音乐下载工具
Mar 29 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
destoon在360浏览器下出现用户被强行注销的解决方法
2014/06/26 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
Vue如何获取数据列表展示
2019/12/11 Javascript
[58:00]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第二场 2月7日
2021/03/11 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
python实用代码片段收集贴
2015/06/03 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
对python模块中多个类的用法详解
2019/01/10 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
手把手教你将Flask应用封装成Docker服务的实现
2020/08/19 Python
python实现三种随机请求头方式
2021/01/05 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
《孔繁森》教学反思
2014/04/17 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
财政局个人总结
2015/03/04 职场文书
亮剑精神观后感
2015/06/05 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python