没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Python之之Numpy详细教程详细教程
NumPy - 简介
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005
年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。
NumPy 操作
使用NumPy,开发人员可以执行以下操作:
数组的算数和逻辑运算。
傅立叶变换和用于图形操作的例程。
与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。
NumPy – MatLab 的替代之一
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用。 这种组合广泛用于替代 MatLab,是一个流行
的技术计算平台。 但是,Python 作为 MatLab 的替代方案,现在被视为一种更加现代和完整的编程语言。
NumPy 是开源的,这是它的一个额外的优势。
NumPy - Ndarray 对象
NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问
集合中的项目。
ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)。
从ndarray对象提取的任何元素(通过切片)由一个数组标量类型的 Python 对象表示。 下图显示了ndarray,数据类型对象
(dtype)和数组标量类型之间的关系。
ndarray类的实例可以通过本教程后面描述的不同的数组创建例程来构造。 基本的ndarray是使用 NumPy 中的数组函数创建
的,如下所示:
它从任何暴露数组接口的对象,或从返回数组的任何方法创建一个ndarray。
上面的构造器接受以下参数:
看看下面的例子来更好地理解。
示例 1
输出如下:
示例 2
输出如下:
示例 3
输出如下:
示例 4
输出如下:
**ndarray ** 对象由计算机内存中的一维连续区域组成,带有将每个元素映射到内存块中某个位置的索引方案。 内存块以按行
(C 风格)或按列(FORTRAN 或 MatLab 风格)的方式保存元素。
NumPy - 数据类型
NumPy 支持比 Python 更多种类的数值类型。 下表显示了 NumPy 中定义的不同标量数据类型。
NumPy 数字类型是dtype(数据类型)对象的实例,每个对象具有唯一的特征。 这些类型可以是np.bool_,np.float32等。
数据类型对象 (dtype)
数据类型对象描述了对应于数组的固定内存块的解释,取决于以下方面:
数据类型(整数、浮点或者 Python 对象)
数据大小
字节序(小端或大端)
在结构化类型的情况下,字段的名称,每个字段的数据类型,和每个字段占用的内存块部分。
如果数据类型是子序列,它的形状和数据类型。
字节顺序取决于数据类型的前缀<或>。 <意味着编码是小端(最小有效字节存储在最小地址中)。 >意味着编码是大端(最大
有效字节存储在最小地址中)。
dtype可由一下语法构造:
参数为:
Object:被转换为数据类型的对象。
Align:如果为true,则向字段添加间隔,使其类似 C 的结构体。
Copy ? 生成dtype对象的新副本,如果为flase,结果是内建数据类型对象的引用。
示例 1
输出如下:
示例 2
输出如下:
示例 3
输出如下:
下面的例子展示了结构化数据类型的使用。 这里声明了字段名称和相应的标量数据类型。
示例 4
输出如下:
示例 5
输出如下:
示例 6
输出如下:
示例 7
以下示例定义名为 student 的结构化数据类型,其中包含字符串字段name,整数字段age和浮点字段marks。 此dtype应用于
ndarray对象。
输出如下:
示例 8
输出如下:
每个内建类型都有一个唯一定义它的字符代码:
'b':布尔值
'i':符号整数
'u':无符号整数
'f':浮点
'c':复数浮点
'm':时间间隔
'M':日期时间
'O':Python 对象
'S', 'a':字节串
'U':Unicode
'V':原始数据(void)
NumPy - 数组属性
这一章中,我们会讨论 NumPy 的多种数组属性。
ndarray.shape
这一数组属性返回一个包含数组维度的元组,它也可以用于调整数组大小。
示例 1
输出如下:
示例 2
输出如下:
示例 3
NumPy 也提供了reshape函数来调整数组大小。
输出如下:
这一数组属性返回数组的维数。
示例 1
输出如下:
示例 2
输出如下:
这一数组属性返回数组中每个元素的字节单位长度。
示例 1
输出如下:
示例 2
输出如下:
numpy.flags
ndarray对象拥有以下属性。这个函数返回了它们的当前值。
示例
下面的例子展示当前的标志。
输出如下:
NumPy - 数组创建例程
新的ndarray对象可以通过任何下列数组创建例程或使用低级ndarray构造函数构造。
numpy.empty
它创建指定形状和dtype的未初始化数组。 它使用以下构造函数:
构造器接受下列参数:
示例
下面的代码展示空数组的例子:
输出如下:
注意:数组元素为随机值,因为它们未初始化。
numpy.zeros
返回特定大小,以 0 填充的新数组。
构造器接受下列参数:
示例 1
输出如下:
示例 2
输出如下:
示例 3
输出如下:
构造器接受下列参数:
剩余30页未读,继续阅读
资源评论
weixin_38595473
- 粉丝: 3
- 资源: 875
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- wm_6717db1a6d3e6f00071eb625.mp4
- IMG_1728652994807.png
- yymobile_client-8.32.3-armeabi_v7a-official.apk
- (源码)基于Spring Boot框架的校园云资产管理系统.zip
- (源码)基于Spring Boot的电子印章管理系统.zip
- (源码)基于C++的演讲比赛流程控制系统.zip
- (源码)基于Spring Boot和Redis的秒杀系统.zip
- (源码)基于C++的学生管理系统.zip
- (源码)基于Java Swing和MySQL的旅游管理系统.zip
- (源码)基于C++编程语言的LineageOS移动操作系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功