浅谈numpy中np.array()与np.asarray的区别以及.tolist

 更新时间:2020年06月03日 09:25:48   作者:米小凡  
这篇文章主要介绍了浅谈numpy中np.array()与np.asarray的区别以及.tolist,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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)

从中我们可以看出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)

从上述结果我们可以看出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)

从上述我们可以看到.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就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Pytorch中torch.argmax()函数使用及说明

    Pytorch中torch.argmax()函数使用及说明

    这篇文章主要介绍了Pytorch中torch.argmax()函数使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • python面向对象实现名片管理系统文件版

    python面向对象实现名片管理系统文件版

    这篇文章主要为大家详细介绍了python面向对象实现名片管理系统文件版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Python实现按照指定要求逆序输出一个数字的方法

    Python实现按照指定要求逆序输出一个数字的方法

    这篇文章主要介绍了Python实现按照指定要求逆序输出一个数字的方法,涉及Python针对字符串的遍历、判断、输出等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • Python简单操作sqlite3的方法示例

    Python简单操作sqlite3的方法示例

    这篇文章主要介绍了Python简单操作sqlite3的方法,结合实例形式分析了Python针对sqlite3数据库的读取、创建、增删改查等基本操作技巧,需要的朋友可以参考下
    2017-03-03
  • 150行Python代码实现带界面的数独游戏

    150行Python代码实现带界面的数独游戏

    这篇文章主要介绍了150行Python代码实现带界面的数独游戏,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 对python:threading.Thread类的使用方法详解

    对python:threading.Thread类的使用方法详解

    今天小编就为大家分享一篇对python:threading.Thread类的使用方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python利用IPython提高开发效率

    Python利用IPython提高开发效率

    本文详细介绍了在python中如何利用ipython提高代码开发效率,对大家使用python很有帮助,有需要的小伙伴们可以参考借鉴。
    2016-08-08
  • pandas中DataFrame重置索引的几种方法

    pandas中DataFrame重置索引的几种方法

    在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取、插入等,所以小编总结了几种索引重置的方法,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)

    Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)

    这篇文章主要介绍了Python 利用邮件系统完成远程控制电脑(关机、重启等),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 使用selenium模拟动态登录百度页面的实现

    使用selenium模拟动态登录百度页面的实现

    本文主要介绍了使用selenium模拟动态登录百度页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05

最新评论