浅谈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实现登录人人网并抓取新鲜事的方法
May 11 Python
Python3控制路由器——使用requests重启极路由.py
May 11 Python
Python中super函数的用法
Nov 17 Python
python3.7.0的安装步骤
Aug 27 Python
python3 拼接字符串的7种方法
Sep 12 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
May 10 Python
PyCharm 创建指定版本的 Django(超详图解教程)
Jun 18 Python
Django框架HttpResponse对象用法实例分析
Nov 01 Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 Python
pytorch查看模型weight与grad方式
Jun 24 Python
Python word文本自动化操作实现方法解析
Nov 05 Python
python 制作磁力搜索工具
Mar 04 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
服务器端解压缩zip的脚本
2006/12/22 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
php标签云的实现代码
2012/10/10 PHP
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
javascript制作2048游戏
2015/03/30 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python中字典的基础知识归纳小结
2015/08/19 Python
Python3字符串学习教程
2015/08/20 Python
Python random模块用法解析及简单示例
2017/12/18 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python编译成.so文件进行加密后调用的实现
2019/12/23 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
写给保洁员表扬信
2014/01/08 职场文书
法学院方阵解说词
2014/01/29 职场文书
社区矫正工作方案
2014/06/04 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
初中美术教学反思
2016/02/17 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android