Python
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类的实例可以通过本教程后面描述的不同的数组创建例程来构造。 基本的ndarray是使用 NumPy 中的数组函数创建的,如下所示:
1
2
numpy.array
3
4
它从任何暴露数组接口的对象,或从返回数组的任何方法创建一个ndarray。
1
2
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
3
4
上面的构造器接受以下参数:
序号 参数及描述
1. object任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。
2. dtype数组的所需数据类型,可选。
3. copy可选,默认为true,对象是否被复制。
4. orderC(按行)、F(按列)或A(任意,默认)。
5. subok默认情况下,返回的数组被强制为基类数组。如果为true,则返回子类。
6. ndmin指定返回数组的最小维数。
看看下面的例子来更好地理解。
示例 1
1
2
import numpy as np
3
a = np.array([1,2,3])
4
print a
5
输出如下:
1 [1, 2, 3]
2
示例 2
1
2
#
3
import numpy as np
4
a = np.array([[1, 2], [3, 4]])
5
print a
6
输出如下:
1 [[1, 2]
2 [3, 4]]
3
示例 3
1
2
#
3
import numpy as np
4
a = np.array([1, 2, 3,4,5], ndmin = 2)
5
print a
6
输出如下:
1 [[1, 2, 3, 4, 5]]
2
示例 4
1
2