浅谈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之dict()的操作方法
Sep 24 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
在python的类中动态添加属性与生成对象
Sep 17 Python
Python标准库06之子进程 (subprocess包) 详解
Dec 07 Python
Python复数属性和方法运算操作示例
Jul 21 Python
python学习必备知识汇总
Sep 08 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
May 18 Python
python小项目之五子棋游戏
Dec 26 Python
使用 Python 遍历目录树的方法
Feb 29 Python
python pymysql库的常用操作
Oct 16 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
python开发实时可视化仪表盘的示例
May 07 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中批量修改文件后缀名的函数代码
2011/10/23 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
javascript动画浅析
2012/08/30 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
js实现烟花特效
2020/03/02 Javascript
Python 加密的实例详解
2017/10/09 Python
python实现自动解数独小程序
2019/01/21 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
编写类String 的构造函数、析构函数和赋值函数
2012/09/09 面试题
什么是唯一索引
2015/07/05 面试题
南京软件公司的.net程序员笔试题
2014/08/31 面试题
出纳年终工作总结2014
2014/12/05 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
理解python中装饰器的作用
2021/07/21 Python
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python
Echarts如何重新渲染实例详解
2022/05/30 Javascript