浅谈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就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 中pandas索引切片读取数据缺失数据处理问题

    Python 中pandas索引切片读取数据缺失数据处理问题

    pandas是一个Python软件包,提供快速,灵活和富于表现力的数据结构,旨在使使用“关系”或“标记”数据既简单又直观。这篇文章主要介绍了pandas索引切片读取数据缺失数据处理,需要的朋友可以参考下
    2019-10-10
  • Python中常用的内置方法

    Python中常用的内置方法

    今天小编就为大家分享一篇关于Python中常用的内置方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例

    python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例

    这篇文章主要介绍了python GUI库图形界面开发之PyQt5信号与槽的高级知识(自定义信号与槽)详解与实例,需要的朋友可以参考下
    2020-03-03
  • 基于Python开发PPTX压缩工具

    基于Python开发PPTX压缩工具

    在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下
    2025-02-02
  • pytorch 实现多个Dataloader同时训练

    pytorch 实现多个Dataloader同时训练

    这篇文章主要介绍了pytorch 实现多个Dataloader同时训练的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python使用captcha库制作带参数输入验证码案例

    Python使用captcha库制作带参数输入验证码案例

    这篇文章主要介绍了Python使用captcha库制作验证码,带参数输入,本文通过实例案例解析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Python实现暴力破解有密码的zip文件的方法

    Python实现暴力破解有密码的zip文件的方法

    这篇文章主要介绍了Python实现暴力破解有密码的zip文件的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Python 监测文件是否更新的方法

    Python 监测文件是否更新的方法

    今天小编就为大家分享一篇Python 监测文件是否更新的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python的描述器descriptor详解

    python的描述器descriptor详解

    这篇文章主要介绍了python的描述器descriptor详解,描述器可以用于控制属性的读取、写入和删除等操作,同时还可以用于实现计算属性、类属性、属性别名等高级功能,需要的朋友可以参考下
    2023-07-07
  • Python调用ffmpeg截取视频片段并进行批量处理的方法

    Python调用ffmpeg截取视频片段并进行批量处理的方法

    在多媒体处理领域,尤其是视频和音频处理,Python社区一直缺乏一个强大且易用的库,幸运的是,ffmpeg-python库的出现填补了这一空白,它是一个Python绑定,使得Python开发者能够轻松地处理视频和音频文件,本文介绍了如何使用Python调用ffmpeg截取视频片段并进行批量处理方法
    2025-04-04

最新评论