1.1.1.4NumPy为什么很快

Posted wdzn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.1.1.4NumPy为什么很快相关的知识,希望对你有一定的参考价值。

为什么 NumPy 速度很快

矢量化

矢量化描述了代码中没有任何显示循环、索引等,其他优化使用预编译的 C 代码。

矢量化有许多优点,包括:

  • 矢量化代码更简洁,更易于阅读。
  • 更少的代码通常意味着更少的错误。
  • 代码更接近标准的数学符号(编写易用的数学结构代码更加容易)。
  • 矢量化会产生更多的 PythonIC 代码。如果没有矢量化,代码将充满低效和难以阅读的循环。

传播性

传播是用来描述操作隐式逐元素的术语。

在 NumPy 中所有的操作,包括算术、逻辑、位运算、函数等,都以这种隐式逐元素的方式进行表现。

在示例 4 中 ab 可以是相同形状的多维数组,或者是标量和数组,甚至可以是具有不同形状的两个数组,前提是较小的数组可以 “扩展” 为较大的数组

有关传播性更详细的规则,请参阅 numpy.doc.broadcasting

以上是关于1.1.1.4NumPy为什么很快的主要内容,如果未能解决你的问题,请参考以下文章

从 C 代码调用 numpy 函数

如何创建片段以重复变量编号中的代码行

'numpy.ndarray':对象不可调用错误

乐哥学AI_Python:Numpy索引,切片,常用函数

对数据进行去均值并转换为 numpy 数组

numpy 怎么能比我的 Fortran 例程快得多?