NumPy 1.13 API 指南:数组操作与通用函数

需积分: 10 3 下载量 20 浏览量 更新于2024-07-19 收藏 4.81MB PDF 举报
"numpy V1.13.PDF 是一份关于NumPy库的API文档,由NumPy社区编写,发布于2017年6月10日。该文档详尽地介绍了NumPy的核心特性,包括N维数组对象、标量、数据类型对象、索引、迭代、标准数组子类、掩码数组、数组接口、日期时间和时间差以及通用函数(ufunc)等。此外,还涵盖了数组创建、操作、二元运算、字符串操作、C类型外设函数接口、日期时间支持函数、数据类型例行程序、可选的SciPy加速例行程序、数学函数、浮点数错误处理和离散傅立叶变换等功能。" NumPy是Python中用于科学计算的基础包,它的核心是多维数组对象,即ndarray。ndarray是一种高效的数据结构,能够存储同类型的元素集合,支持向量化操作。它允许我们处理大型的多维数据集,并且在内存中进行快速计算。 1.1 N维数组(ndarray):NumPy中的数组对象,可以是任意维度,支持广播机制,使得不同形状的数组能够在某些操作中相互作用。数组的形状可以通过shape属性查看,而元素类型由dtype对象定义。 1.2 标量:NumPy中的标量是单个元素,可以是任何支持的NumPy数据类型。 1.3 数据类型对象(dtype):NumPy提供了多种数据类型,如int、float、complex、bool等,以及更具体的如int32、float64等。dtype对象用于描述数组中每个元素的类型和大小。 1.4 索引:NumPy数组支持丰富的索引方式,包括切片、整数索引、布尔索引以及花式索引,使得对数组的访问和操作非常灵活。 1.5 迭代:可以使用for循环或其他迭代工具遍历数组的所有元素,同时NumPy提供了迭代器对象供高级使用。 1.6 标准数组子类:NumPy允许创建自定义的数组子类,以扩展其功能或适应特定应用需求。 1.7 掩码数组:这种特殊的数组子类允许部分数据被“掩码”或隐藏,对于处理缺失值或条件操作非常有用。 1.8 数组接口:NumPy定义了一个标准接口,使得其他对象可以像NumPy数组一样工作,这增强了与其他Python库的兼容性。 1.9 日期时间和时间差:NumPy提供对日期和时间的处理,包括datetime64和timedelta64数据类型,支持算术运算和相关函数。 2.1 通用函数(ufunc):ufunc是NumPy中的核心概念,它们是元素级别的数学函数,可以对数组进行快速的向量化操作。ufunc支持广播、输出类型确定、内部缓冲、错误处理等特性。 2.2 广播:广播机制允许不同形状的数组在运算时自动扩展以匹配形状,使得操作能够正确进行。 2.3 输出类型确定:ufunc在运算时会根据输入类型自动确定输出类型,确保数据类型的一致性。 2.4 错误处理:ufunc有多种错误处理策略,如设置溢出或除以零的处理方式。 2.5 转换规则:NumPy遵循一定的类型转换规则,确保数据类型之间的转换是安全的。 2.6 自定义ufunc行为:通过重载方法,可以改变ufunc的行为,如添加自定义的输出类型。 2.7 可用的ufunc:文档中列出了所有可用的ufunc,包括基本的数学运算、逻辑运算等。 3.1-3.11:这部分详细介绍了NumPy提供的各种函数和例行程序,涵盖数组创建、操作、数学计算、字符串处理、与C语言接口、日期时间支持、数据类型操作、可选的SciPy加速、复杂数学函数、浮点数误差处理和傅立叶变换等方面,这些功能共同构建了NumPy强大的数值计算能力。