浅谈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封装原理与实现方法详解
Aug 28 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
Python qqbot 实现qq机器人的示例代码
Jul 11 Python
详解如何减少python内存的消耗
Aug 09 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
pandas数据处理进阶详解
Oct 11 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
opencv python如何实现图像二值化
Feb 03 Python
使用python实现微信小程序自动签到功能
Apr 27 Python
Python控制鼠标键盘代码实例
Dec 08 Python
总结Python常用的魔法方法
May 25 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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计算整个目录大小的方法
2015/06/01 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
vue实现拖拽效果
2019/12/23 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
python中二维阵列的变换实例
2014/10/09 Python
Python连接mysql数据库的正确姿势
2016/02/03 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
使用TensorFlow实现SVM
2018/09/06 Python
python3.4爬虫demo
2019/01/22 Python
python实现一个简单的ping工具方法
2019/01/31 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
.NET面试问题集
2015/12/08 面试题
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
管理部副部长岗位职责范文
2014/03/09 职场文书
《小猪家的桃花树》教学反思
2014/04/11 职场文书
软件售后服务承诺书
2014/05/21 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
房屋所有权证明
2015/06/19 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL