浅谈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单元测试框架unittest使用方法讲解
Apr 13 Python
Python实现高效求解素数代码实例
Jun 30 Python
Python中文分词实现方法(安装pymmseg)
Jun 14 Python
Django实现组合搜索的方法示例
Jan 23 Python
Python中列表与元组的乘法操作示例
Feb 10 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
python获取微信企业号打卡数据并生成windows计划任务
Apr 30 Python
详解python tkinter模块安装过程
Jan 06 Python
Python3.7黑帽编程之病毒篇(基础篇)
Feb 04 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
Python 没有main函数的原因
Jul 10 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 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语法(4)
2006/10/09 PHP
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
Python访问MySQL封装的常用类实例
2014/11/11 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
python实现周期方波信号频谱图
2018/07/21 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
浅谈django channels 路由误导
2020/05/28 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
html5时钟实现代码
2010/10/22 HTML / CSS
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
物业招聘计划书
2014/01/10 职场文书
高三体育教学反思
2014/01/29 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
酒店宣传语大全
2015/07/13 职场文书
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
delete in子查询不走索引问题分析
2022/07/07 MySQL