Numpy 中的 Ndarray
numpy概述
- Numerical Python,数值的Python,补充了Python语言所欠缺的数值计算能力。
- Numpy是其它数据分析及机器学习库的底层库。
- Numpy完全标准C语言实现,运行效率充分优化。
- Numpy开源免费。
numpy历史
- 1995年,Numeric,Python语言数值计算扩充。
- 2001年,Scipy->Numarray,多维数组运算。
- 2005年,Numeric+Numarray->Numpy。
- 2006年,Numpy脱离Scipy成为独立的项目。
numpy的核心:多维数组
- 代码简洁:减少Python代码中的循环。
- 底层实现:厚内核©+薄接口(Python),保证性能。
ndarray 数组
用np.ndarray类的对象表示n维数组
|
|
内存中的ndarray对象
元数据(metadata)
存储对目标数组的描述信息,如:ndim、shape、dtype、data等。
实际数据
完整的数组数据
将实际数据与元数据分开存放,一方面提高了内存空间的使用效率,另一方面减少对实际数据的访问频率,提高性能。
数组对象的特点
- Numpy数组是同质数组,即所有元素的数据类型必须相同
- Numpy数组的下标从0开始,最后一个元素的下标为数组长度减1,同python的列表。
数组对象的创建
np.array(任何可被解释为Numpy数组的逻辑结构)
|
|
np.arange(起始值(0),终止值,步长(1))
|
|
np.zeros(数组元素个数, dtype='类型')
|
|
np.ones(数组元素个数, dtype='类型')
|
|
对象属性的基本操作
数组的维度:np.ndarray.shape
|
|
元素的类型:np.ndarray.dtype
|
|
数组元素的个数:np.ndarray.size
|
|
数组元素索引(下标)
数组对象[…, 页号, 行号, 列号]
下标从0开始,到数组len-1结束。
|
|
对象属性操作详解
Numpy的内部基本数据类型
类型名 | 类型表示符 |
---|---|
布尔型 | bool_ |
有符号整数型 | int8(-128~127) / int16 / int32 / int64 |
无符号整数型 | uint8(0~255) / uint16 / uint32 / uint64 |
浮点型 | float16 / float32 / float64 |
复数型 | complex64 / complex128 |
字串型 | str_,每个字符用32位Unicode编码表示 |
日期类型 | datetime64 |
自定义复合类型:list of tuples
|
|
类型字符码
类型 | 字符码 |
---|---|
np.bool_ | ? |
np.int8/16/32/64 | i1 / i2 / i4 / i8 |
np.uint8/16/32/64 | u1 / u2 / u4 / u8 |
np.float/16/32/64 | f2 / f4 / f8 |
np.complex64/128 | c8 / c16 |
np.str_ | U |
np.datetime64 | M8[Y] M8[M] M8[D] M8[h] M8[m] M8[s] |
数组维度操作
视图变维(数据共享): reshape() 与 ravel()
|
|
复制变维(数据独立):flatten()
|
|
就地变维:直接改变原数组对象的维度,不返回新数组
|
|
数组索引操作
|
|
|
|
多维数组的切片操作
|
|
ndarray数组的掩码操作:之后的要学到的pandas包也经常使用
|
|
多维数组的组合与拆分
垂直方向操作:vstack vsplit
|
|
水平方向操作:hstack hsplit
|
|
深度方向操作:dstack dsplit(3 维)
|
|
长度不等的数组组合:pad+vstack/hstack/dstack
|
|
多维数组组合与拆分的相关函数:concatenate split
|
|
简单的一维数组组合方案:row_stack colomn_stack
|
|
注:均分,份数需可整除。
类的其他属性
- shape - 维度
- dtype - 元素类型
- size - 元素数量
- ndim - 维数,len(shape)
- itemsize - 元素字节数
- nbytes - 总字节数 = size x itemsize
- real - 复数数组的实部数组
- imag - 复数数组的虚部数组
- T - 数组对象的转置视图
- flat - 扁平迭代器
|
|
http://www.taodudu.cc/news/show-3625855.html
相关文章:
- numpy中的ndarray方法和属性详解
- python中ndarray是什么意思_什么是Numpy的ndarray
- ndarray 求和_Numpy ndarray 创建与简单的数学运算
- 详解numpy库ndarray对象的切片操作(三帽号规则)
- NumPy ndarray对象
- Python_Numpy库的ndarray对象的属性有哪些?如何获取它们的值?
- python中ndarray对象_numpy基础——ndarray对象
- 详解 Numpy.ndarray
- Python的Numpy库的ndarray对象常用构造方法及初始化方法
- Rust机器学习之ndarray
- ndarray基础操作
- ndarray
- 数据结构3 :ndarray
- NumPy学习笔记(一)—— ndarray数组
- 使用ndarray
- Numpy:数组对象(Ndarray)的定义和创建
- mxnet快速入门教程值NDArray(一)
- Python--ndarray 常用属性详解
- Python: NumPy中的多维数组ndarray
- 【matlab教程】12、已知函数表达式画函数图
- 求多元函数表达式
- 函数声明和函数表达式的区别:
- 已知 方程 用 matlab 求表达式,已知自变量,因变量和函数表达式,可以用matlab求出函数表达式中的未知参数吗...
- matlab 列出具体表达式,MATLAB中如何实现输出一个函数表达式
- 逻辑函数表达式的形式
- 关于函数表达式的标识符/函数名
- 函数声明、 函数表达式 与立即调用函数表达式的比较
- javascript函数声明和函数表达式
- matlab显示函数表达式_MATLAB在绘图时的用法——线形图
- 函数声明与函数表达式的区别
Numpy 中的 Ndarray相关推荐
- 数据分析-----NumPy中的ndarray数组
目录 Numpy概述 Python中的数组 NumPy中的ndarray ndarray中的数据类型 ndarray多维数组属性 ndarray的创建 NumPy 切片和索引 NumPy 线性代数 总 ...
- 【Python进阶】你真的明白NumPy中的ndarray吗?
欢迎来到专栏<Python进阶>.在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件.数据的处理,Python各种好用的库如NumPy.Scipy.Matplotl ...
- 总结numpy中的ndarray,非常齐全
公众号后台回复"图书",了解更多号主新书内容 来源:Python碎片 作者:binn.wong numpy(Numerical Python)是一个开源的Python数据科学计算库 ...
- numpy中的ndarray与array的区别、不同
翻译自stackoverflow上的回答 https://stackoverflow.com/questions/15879315/what-is-the-difference-between-nda ...
- numpy中的ndarray方法和属性
原文地址 NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是 ...
- numpy中的ndarray方法和属性详解
NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...
- python四维数组代表图像_【Python进阶】你真的明白NumPy中的ndarray吗?
欢迎来到专栏<Python进阶>.在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件.数据的处理,Python各种好用的库如NumPy.Scipy.Matplotl ...
- numpy 查找 返回索引_numpy中实现ndarray数组返回符合特定条件的索引方法
下面为大家分享一篇numpy中实现ndarray数组返回符合特定条件的索引方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 在numpy的ndarray类型中,似乎没有直接返回特定索引的方 ...
- python中文读音ndarray-numpy中的ndarray方法和属性详解
NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...
最新文章
- linux常用快捷命令(不断更新)
- caffe 的命令行训练与测试
- [论文摘录] Classification of SOA Contract Specification Languages(ICWS, 2008), 第二部分
- 谈谈你对MVC和三层架构的理解?(月薪三万的面试题)
- Java GUI中实现文件拷贝
- android关于控件中setTag(key,Object)的设置的相关问题
- html语言文本框的符号,如何将文本框中的值作为HTML字符串提交?
- 这个世界本来就是残酷的,所以你不能怪C++向你展示了世界的本质!
- tpl_form_field_category_2level() - 二级分类选择器说明
- 多行省略号不显示的问题
- JavaScript内置对象→对象、系统函数、Date日期对象、String字符串对象、Math对象、Number数字对象、Object对象、Boolean对象、Error对象
- 简单的避免idea自动导入 *
- ucore_os_lab lab1 report
- CrazyTalk Animator 3 for Mac破解版永久激活方法附破解补丁
- 冰柱图分析:学习笔记
- 10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 scre
- 如何设置,QQ邮箱新版界面
- ContentType所有类型对比
- mail在linux的端口,linux 上mailx通过465端口发送邮件
- dsf5.0没登录显示登录弹框