NDArray|NDArray 与 numpy.ndarray 互相转换方式
目录
- NDArray与numpy.ndarray互相转换
- NumPy与ndarray简介
- NumPy简介
- 数组ndarray
NDArray与numpy.ndarray互相转换
import numpy as npfrom mxnet import nd# numpy.ndarray 变 mx.NDArraynp_val = np.array([1, 2, 3])# 定义一个numpy.ndarraynd_val = nd.array(np_val)# 深复制 # NDArray 变 numpy.ndarraynp_val_ = nd_val.asnumpy()
NumPy与ndarray简介
NumPy简介
NumPy的全名为Numeric Python,是一个开源的Python科学计算库,它包括:
- 一个强大的N维数组对象ndrray;
- 比较成熟的(广播)函数库;
- 用于整合C/C++和Fortran代码的工具包;
- 实用的线性代数、傅里叶变换和随机数生成函数
- 对于同样的数值计算任务,使用NumPy要比直接编写Python代码便捷得多;
- NumPy中的数组的存储效率和输入输出性能均远远优于Python中等价的基本数据结构,且其能够提升的性能是与数组中的元素成比例的;
- NumPy的大部分代码都是用C语言写的,其底层算法在设计时就有着优异的性能,这使得NumPy比纯Python代码高效得多
数组ndarray
NumPy最重要的一个特点就是其N维数组对象(即ndarray),该对象是一个快速而灵活的大数据集容器,该对象由两部分组成:
- 实际的数据;
- 描述这些数据的元数据;
我们可以直接将数组看作一种新的数据类型,就像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() | 返回满足条件的元素构成的数组 |
推荐阅读
- Python实现向PPT中插入表格与图片的方法详解
- {调取该文章的TAG关键词}|易达资本与沙特电信、阿里云、SCAI(沙特人工智能公司)和SITE(沙特信息技术公司)成立合资公司| 投资动态
- 快速集成Citrix ADC与Istio,实现微服务应用内的流量优化!
- 如何将相机与Electron Framework一起使用(创建快照)并将图像保存在系统上
- 如何在Android中跟踪关键的应用参与度指标
- spring boot 下 mapper接口与xml文件映射问题
- Keeweb(与KeePass兼容的免费跨平台密码管理器)
- AI与Python启发式搜索概念理解
- 投稿|第四次浪潮:SHEIN的缘起、演绎与挑战
- 云南师范大学文理学院计算机科学与技术|云南师范大学文理学院计算机科学与技术,2020-2021学年云南师范大学文理学院 “数据达人秀”专业文化月...