NumPy 简短介绍

NumPy 库和 ufuncs 的一些基础知识

照片由 埃里克·麦克林(Erik Mclean) on Unsplash

NumPy 代表数值 Python,是一个 蟒蛇 用于处理数组的库。借助这些数组,线性代数中的元素(例如向量和矩阵)可以表示为 蟒蛇。由于该库的很大一部分是用 C 编写的,因此即使对于大型矩阵,它也可以执行特别高效和快速的计算。

蟒蛇 提供多种数据结构,无需额外的库即可用于存储数据。然而,这些结构,例如 Python 列表,非常不适合数学运算。添加两个 名单 在处理大量数据时,逐个元素的数字很快就会损害性能。

因此,NumPy 被开发出来,因为它提供了快速有效地执行数值运算的可能性。尤其重要的是线性代数领域的计算,例如矩阵乘法。

NumPy 与许多其他库一样,可以使用 pip 直接从笔记本安装。为此,请使用命令“pip install”和模块名称。该行前面必须有感叹号,以便笔记本识别它是终端命令:

如果安装成功,则可以简单地导入该模块并在笔记本中使用。这里经常使用缩写“np”,是为了在编程过程中节省一点时间,而不必每次都输入 NumPy:

NumPy 数组是传统数组的有效替代方案 Python 列表。它们提供了存储多维数据集合的可能性。在大多数情况下,存储数字并将数组用作向量或矩阵。例如,一维向量可能如下所示:

除了 NumPy 数组的不同功能(我们将在另一篇文章中介绍)之外,可能的维度对于区分仍然很重要:

区分以下维度:

  • 0D — 数组:这只是一个标量,即单个数字或值。
  • 1D — 数组:这是一个向量,作为一维数字或值的字符串。
  • 2D — 数组:这种类型的数组是一个矩阵,即多个一维数组的集合。
  • 3D — 数组:几个矩阵形成一个所谓的张量。我们在有关的文章中更详细地解释了这些内容 TensorFlow.

根据来源的不同,NumPy 数组和 NumPy 数组之间存在几个基本差异 Python 列表。其中最常提到的是:

  1. 内存消耗:数组的编程方式是占用内存的特定部分。数组的所有元素都位于此处。的元素 名单另一方面,在内存中可能相距很远。结果,一个 名单 比相同的数组消耗更多的内存。
  2. 迅速的:数组的处理速度也比 名单 由于其内存消耗较低。对于具有数百万个元素的对象来说,这可能会产生显着的差异。
  3. Functionality:数组提供了更多的功能,例如,它们允许逐个元素操作,而列表则不允许。

所谓的“通用函数”(简称:ufuncs)用于不必逐个元素执行某些操作,而是直接对整个数组执行某些操作。在计算机编程中,当直接对整个向量执行命令时,我们会提到所谓的向量化。

这不仅使编程速度更快,而且计算速度也更快。在 NumPy 中,提供了其中几个通用函数,可用于各种操作。其中最著名的是:

  • 使用“add()”,您可以逐个元素对多个数组求和。
  • “subtract()”正好相反,它逐个元素地减去数组。
  • “multiply()”将两个数组逐个元素相乘。
  • “matmul()”形成两个数组的矩阵乘积。请注意,在大多数情况下,这不会给出与“multiply()”相同的结果。
  • NumPy 代表 Numerical Python,是一个用于处理数组的 Python 库。
  • 借助这些数组,线性代数中的元素(例如向量和矩阵)可以用 Python 表示。
  • 由于该库的大部分内容都是用 C 语言编写的,因此即使对于大型矩阵,它也可以执行特别高效且快速的计算。
  • NumPy 数组与 Python 列表相当,但在内存要求和处理速度方面明显优于 Python 列表。

NumPy 简短介绍从来源重新发布 https://towardsdatascience.com/3short-introduction-to-numpy-3a65ec23eaba?source=rss—-7f60cf5620c9—4 通过 https://towardsdatascience.com/feed

–>

时间戳记:

更多来自 区块链顾问