浅谈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插入排序算法的实现代码
Nov 21 Python
Python中__call__用法实例
Aug 29 Python
python的re模块应用实例
Sep 26 Python
python读写ini配置文件方法实例分析
Jun 30 Python
简单的python协同过滤程序实例代码
Jan 31 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
PyQt5 对图片进行缩放的实例
Jun 18 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
使用tensorflow根据输入更改tensor shape
Jun 23 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
Python中第三方库Faker的使用详解
Apr 02 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下实现伪 url 的超简单方法[转]
2007/09/24 PHP
php二维数组排序方法(array_multisort usort)
2013/12/25 PHP
php获取文件大小的方法
2014/02/26 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
php中JSON的使用与转换
2015/01/14 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
jquery的键盘事件修改代码
2011/02/24 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
vue实现购物车加减
2020/05/30 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
python机器学习之神经网络(三)
2017/12/20 Python
对Python中range()函数和list的比较
2018/04/19 Python
简单了解python单例模式的几种写法
2019/07/01 Python
numpy数组广播的机制
2019/07/12 Python
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
活动邀请函范文
2014/01/19 职场文书
中学生操行评语大全
2014/04/24 职场文书
社区志愿者培训方案
2014/06/10 职场文书
5s标语大全
2014/06/23 职场文书
动物科学专业求职信
2014/07/27 职场文书
2014年银行信贷员工作总结
2014/12/08 职场文书
信访工作个人总结
2015/03/03 职场文书
欢迎新生标语2015
2015/07/16 职场文书