返回顶部
首页 > 资讯 > 后端开发 > Python >NDArray与numpy.ndarray互相转换方式
  • 416
分享到

NDArray与numpy.ndarray互相转换方式

2024-04-02 19:04:59 416人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录NDArray与numpy.ndarray互相转换NumPy与ndarray简介NumPy简介数组ndarrayNDArray与numpy.ndarray互相转换 import

NDArray与numpy.ndarray互相转换

import numpy as np
from mxnet import nd
# numpy.ndarray 变 mx.NDArray
np_val = np.array([1, 2, 3])   # 定义一个numpy.ndarray
nd_val = nd.array(np_val)   # 深复制 
# NDArray 变 numpy.ndarray
np_val_ = nd_val.asnumpy()

NumPy与ndarray简介

NumPy简介

NumPy的全名为Numeric python,是一个开源Python科学计算库,它包括:

  • 一个强大的N维数组对象ndrray;
  • 比较成熟的(广播)函数库;
  • 用于整合C/C++和Fortran代码的工具包;
  • 实用的线性代数、傅里叶变换和随机数生成函数

NumPy的优点:

  • 对于同样的数值计算任务,使用NumPy要比直接编写Python代码便捷得多;
  • NumPy中的数组的存储效率和输入输出性能均远远优于Python中等价的基本数据结构,且其能够提升的性能是与数组中的元素成比例的;
  • NumPy的大部分代码都是用C语言写的,其底层算法在设计时就有着优异的性能,这使得NumPy比纯Python代码高效得多

当然,NumPy也有其不足之处,由于NumPy使用内存映射文件以达到最优的数据读写性能,而内存的大小限制了其对TB级大文件的处理;此外,NumPy数组的通用性不及Python提供的list容器。因此,在科学计算之外的领域,NumPy的优势也就不那么明显。

数组ndarray

NumPy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器,该对象由两部分组成:

  • 实际的数据;
  • 描述这些数据的元数据;

大部分的数组操作仅仅是修改元数据部分,而不改变其底层的实际数据。数组的维数称为秩,简单来说就是如果你需要获取数组中一个特定元素所需的坐标数,如a是一个2×3×4的矩阵,你索引其中的一个元素必须给定三个坐标a[x,y,z],故它的维数就是3。而轴可以理解为一种对数组空间的分割,以数组a为例,如果我们以0为轴,那么a可以看成是一个由两个元素构成的数组,其中每个元素都是一个3×4的数组。

我们可以直接将数组看作一种新的数据类型,就像list、tuple、dict一样,但数组中所有元素的类型必须是一致的,Python支持的数据类型有整型、浮点型以及复数型,但这些类型不足以满足科学计算的需求,因此NumPy中添加了许多其他的数据类型,如bool、inti、int64、float32、complex64等。同时,它也有许多其特有的属性和方法。

常用ndarray属性:

dtype 描述数组元素的类型

shape 以tuple表示的数组形状

ndim 数组的维度

size 数组中元素的个数

itemsize 数组中的元素在内存所占字节数

T 数组的转置

flat 返回一个数组的迭代器,对flat赋值将导致整个数组的元素被覆盖

real/imag 给出复数数组的实部/虚部

nbytes 数组占用的存储空间

常用ndarray方法:

  
reshape(…)返回一个给定shape的数组的副本
resize(…)返回给定shape的数组,原数组shape发生改变
flatten()/ravel()返回展平数组,原数组不改变
astype(dtype)返回指定元素类型的数组副本
fill()将数组元素全部设定为一个标量值
sum/Prod()计算所有数组元素的和/积
mean()/var()/std()返回数组元素的均值/方差/标准差
max()/min()/ptp()/median()返回数组元素的最大值/最小值/取值范围/中位数
argmax()/argmin()返回最大值/最小值的索引
sort()对数组进行排序,axis指定排序的轴;kind指定排序算法,默认是快速排序
view()/copy()view创造一个新的数组对象指向同一数据;copy是深复制
tolist()将数组完全转为列表,注意与直接使用list(array)的区别
compress()返回满足条件的元素构成的数组

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: NDArray与numpy.ndarray互相转换方式

本文链接: https://lsjlt.com/news/118280.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • NDArray与numpy.ndarray互相转换方式
    目录NDArray与numpy.ndarray互相转换NumPy与ndarray简介NumPy简介数组ndarrayNDArray与numpy.ndarray互相转换 import ...
    99+
    2024-04-02
  • NDArray与numpy.ndarray怎么互相转换
    本篇内容主要讲解“NDArray与numpy.ndarray怎么互相转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“NDArray与numpy.ndarray怎么互相转换”吧!NDArray与...
    99+
    2023-06-30
  • python中ndarray与pandas的series怎么相互转换
    这篇文章将为大家详细讲解有关python中ndarray与pandas的series怎么相互转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenSt...
    99+
    2023-06-14
  • ByteArrayOutputStream与InputStream互相转换方式
    目录ByteArrayOutputStream与InputStream互相转换InputStream 转为 ByteArrayOutputStreamByteArrayOutputS...
    99+
    2024-04-02
  • java.lang.String和java.util.NClob互相转换方式
    java.lang.String和java.util.NClob互相转换 //NClob或Clob转String类型 public String clob2Str(NClob n...
    99+
    2024-04-02
  • C++string和wstring相互转换方式
    目录%S和%s用法string和wstring转换方法总结在C++项目编程中,由于项目工程被设置为Unicode编码,因此经常遇到std::string类型和std::wstring...
    99+
    2023-02-28
    C++ string C++ wstring string和wstring相互转换
  • Java坐标系相互转换方式
    目录Java坐标系相互转换Java任意两个坐标系转换首先是实体类计算工具类Java坐标系相互转换 1. WGS-84原始坐标系,一般用国际GPS纪录仪记录下来的经纬度,通过GPS定位...
    99+
    2024-04-02
  • python label与one-hot之间的互相转换方式
    目录label与one-hot之间的互相转换label 转 one-hotone-hot 转labellabel:one-hot 与 标量转化标量 转化为 one-hot 向量one...
    99+
    2023-02-01
    python label python one-hot label与one-hot互相转换
  • tensor与numpy的相互转换
    tensor与numpy的相互转换 1. numpy转tensor命令1:torch.tensor()命令2:torch.as_tensor()命令3:torch.from_numpy()区别...
    99+
    2023-09-05
    pytorch
  • string类和LocalDateTime的相互转换方式
    目录string类和LocalDateTime相互转换1.LocalDateTIme转换2.LocalDate转换string转化LocalDateTime类出现的问题string类...
    99+
    2024-04-02
  • Canvas与Image怎么互相转换
    今天小编给大家分享一下Canvas与Image怎么互相转换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
    99+
    2024-04-02
  • PHP数组与JSON互相转换
    PHP数组与JSON互相转换,数组转json:json_encode();json转数组:json_decode(); 使用json_encode转json时会发现中文字符会出现乱码 只需要在json_encode();函数中加入JS...
    99+
    2023-09-10
    json php 数组 Powered by 金山文档
  • Python 图片与pdf相互转换
    使用到第三方库 PyMuPDF 在 python 环境下对 PDF 文件的操作。 PDF 转为图片 需新建文件夹 pdf2png import fitz import glob def rightinput(desc): ...
    99+
    2023-01-31
    图片 Python pdf
  • Android中String与int相互转换
    目录一、如何将字串 String 转换成整数 int?这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?二、 如何将整数 int 转换成字串 String...
    99+
    2024-04-02
  • Python字典格式怎么与JSON格式相互转换
    本篇内容介绍了“Python字典格式怎么与JSON格式的相互转换”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python中可以方便的通过J...
    99+
    2023-06-02
  • Jackson中json格式的字符串与对象的互相转换方式
    目录json格式的字符串与对象的互相转换Jackson 简介jackson特点json格式的字符串与对象的转换Jackson进行json转对象,对象转json总结JavaBean准备...
    99+
    2024-04-02
  • Java和Scala集合间的相互转换方式
    目录Java和Scala集合间的相互转换scala与java互转Java与Scala的集合对比一、Java集合1、Collection=>Set接口2、Collection=&...
    99+
    2024-04-02
  • 浅谈tensorflow与pytorch的相互转换
    目录1.变量预定义2.创建变量并初始化3.语句执行4.tensor5.其他函数本文以一段代码为例,简单介绍一下tensorflow与pytorch的相互转换(主要是tensorflo...
    99+
    2024-04-02
  • Python - 列表与字典相互转换
    字符串转列表s = 'abc'a = list(s)['a','b','c']列表转为字符串''.join(a)字符串转换为元组s='abc't = tuple(s)元组转换为字符串''.join(t)列表转换为元组l = ['a','b'...
    99+
    2023-01-31
    字典 列表 Python
  • Base64与File之间的相互转化方式
    目录Base64与File的相互转化问题需要注意将Base64转为文件并保存Base64与File的相互转化 问题 最近遇到一个上传文件的问题,前端使用了另一种传值,就是Base64...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作