一、什么是NumPy?
NumPy(Numerical Python)是Python中的科学计算基础包,它提供了多维数据对象、各种派生对象(如屏蔽数组masked arrays和矩阵)、用于在数组上快速计算的各种例程(包括数值计算、逻辑运算、形状操作、排序、选择、I/O、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等)。
NumPy库的核心是ndarray对象,它封装了由相同类型数据组成的n维数组,许多操作在编译代码中执行以提高性能。下面是NumPy数组和标准Python序列的一些重要区别:
- NumPy数组的大小是固定的,一经创建则不可改变,改变ndarray的大小将会删除原始数组而创建一个新的数组。而Python的列表可以动态生长。
- NumPy数组的元素必须是同样的数据类型,因此它们在内存中占有相同的大小。例外的情况是:可以有(Python,包括NumPy)对象的数组,从而允许不同大小的元素的数组。
- 越来越多的基于Python的科学和数学包正在使用NumPy数组;虽然这些通常支持Python序列输入,但它们在处理之前将此类输入转换为NumPy数组,并且它们通常输出NumPy数组。换句话说,为了有效地使用当今许多(甚至可能是大多数)基于Python的科学/数学软件,仅仅知道如何使用Python的内置序列类型是不够的,还需要知道如何使用NumPy数组。
关于序列大小和速度的要点在科学计算中尤其重要。作一个简单的示例,考虑将一维序列中的每个元素与另一个长度相同的序列中的相应元素相乘的情况。如果数据存储在两个Python列表中,我们可以使用for循环迭代每个元素,使对应元素相乘。这无疑会产生正确的结果,但如果每个序列都包含数百万个数字,效率就会非常低。
a=[1,2,3,4,5]
b=[1,2,3,4,5]
c=[]
for i in range(0,len

NumPy是Python中科学计算的基础包,提供了多维数组对象和高效的数据处理功能。相较于Python列表,NumPy数组在固定大小和单一数据类型的基础上实现了更快的计算速度,通过矢量化和广播机制简化代码并提升效率。
最低0.47元/天 解锁文章
3060

被折叠的 条评论
为什么被折叠?



