浅谈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 Web框架Flask下网站开发入门实例
Feb 08 Python
在Python中使用模块的教程
Apr 27 Python
python&amp;MongoDB爬取图书馆借阅记录
Feb 05 Python
ansible作为python模块库使用的方法实例
Jan 17 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
Python类的继承用法示例
Jan 31 Python
Python常见的pandas用法demo示例
Mar 16 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
python实现图片压缩代码实例
Aug 12 Python
深入学习python多线程与GIL
Aug 26 Python
python数据分析工具之 matplotlib详解
Apr 09 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
php模拟js函数unescape的函数代码
2012/10/20 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
仅img元素创建后不添加到文档中会执行onload事件的解决方法
2011/07/31 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
js简单实现交换Li的值
2014/05/22 Javascript
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
浅析Bootstrap缩略图组件与警示框组件
2016/04/29 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
python实现随机调用一个浏览器打开网页
2018/04/21 Python
python 列表递归求和、计数、求最大元素的实例
2018/11/28 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
python根据文本生成词云图代码实例
2019/11/15 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
Python 解析xml文件的示例
2020/09/29 Python
大学毕业生工作的自我评价
2013/10/01 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
销售会计岗位职责
2014/03/15 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js