NumPy 是 Python 中用于科学计算的基础包。它是一个 Python 库,提供了多维数组对象、各种派生对象(如掩码数组和矩阵)以及一系列用于快速操作数组的例程,包括数学运算、逻辑运算、形状操作、排序、选择、输入/输出、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。
Numpy包的核心是ndarray对象。
Numpy数组和标准的Python序列的有几个重要的不同点:
- Numpy数组在创建的时候有一个固定的长度,而Python列表(list)可以动态增长。当改变一个ndarray的长度时,会创建一个新数组,并删掉原来的数组。
- Numpy数组的元素都必须是相同的数据类型,因此它们都占据相同的内存空间。例外的情况是:数组的元素如果是对象,对象的大小可以不同。
- NumPy数组有助于对大量数据进行高级数学和其他类型的操作。通常情况下,与使用Python的内置序列相比,这样的操作执行起来更有效,代码也更少。
- 越来越多的基于python的科学和数学包正在使用NumPy数组;虽然这些通常支持python序列输入,它们在处理之前将此类输入转换为NumPy数组,并且它们通常输出NumPy数组。
Numpy的两个特性,也是它大部分功能的基础:向量化和广播。
Numpy基础:
1. ndarray对象的一些重要特性:
2. 创建数组
2.1 可以通过array函数从常规的Python列表或元组中创建ndarray
2.2 如果序列中的元素还是序列(列表或元组),array函数可以创建二维或三维数组
2.3 Numpy提供了几个创建数组时自带初始化值的函数
2.4 arange与linspace
为了创建数字序列,NumPy 提供了 arange 函数,它类似于 Python 内置的 range 函数,但返回的是一个数组。
当使用浮点数参数时,通常无法预测
arange 函数所生成的元素数量,这是由于浮点数精度有限所致。因此,通常最好使用 linspace 函数,该函数接受我们想要的元素数量作为参数,而不是步长。