numpy 的前身 numeric 最早是由 jim hugunin 与其它协作者共同开发,2005 年,travis oliphant 在 numeric 中结合了另一个同性质的程序库 numarray 的特色,并加入了其它扩展而开发了 numpy。numpy 为开放源代码并且由许多协作者共同维护开发。
numpy包的核心是 ndarray 对象。它封装了python原生的同数据类型的 n 维数组,为了保证其性能优良,其中有许多操作都是代码在本地进行编译后执行的。
numpy数组 和 原生python array(数组)之间有几个重要的区别:
numpy 数组在创建时具有固定的大小,与python的原生数组对象不同,更改ndarray的大小将创建一个新数组并删除原来的数组。numpy 数组元素需具有相同的数据类型,因此在内存中的大小相同。numpy 数组有助于对大量数据进行高级数学和其他类型的操作。通常,这些操作的执行效率更高,比使用python原生数组的代码更少。越来越多的基于python的科学和数学软件包使用numpy数组,但它们在处理之前会会将输入的数组转换为numpy的数组。
在开学习 numpy 教程之前,我们需要具备基本的 python 基础,本网站推荐使用python3.x版本,如果你对 python还不了解,可以阅读我们的
在 python 中,我们有满足数组功能的列表,但是处理起来很慢。numpy 旨在提供一个比传统 python 列表快 50 倍的数组对象。numpy 中的数组对象称为 ndarray,它提供了许多支持函数,使得利用 ndarray 非常容易。数组在数据科学中非常常用,因为速度和资源非常重要。数据科学:计算机科学的一个分支,研究如何存储、使用和分析数据以从中获取信息。
与列表不同,numpy 数组存储在内存中的一个连续位置,因此进程可以非常有效地访问和操纵它们。
这种行为在计算机科学中称为引用的局部性。
这是 numpy 比列表更快的主要原因。它还经过了优化,可与最新的 cpu 体系结构一同使用。
numpy 通常与 scipy一起使用,这种组合广泛用于代替 matlab,有助于我们通过 python 学习数据科学或者机器学习。scipy 是一个开源的 python 算法库和数学工具包。scipy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。matplotlib 是 python 编程语言及其数值数学扩展包 numpy 的可视化操作界面。它为利用通用的图形用户界面工具包。
numpy 九游会下载官网:numpy 源代码:scipy 九游会下载官网:: scipy 源代码:: matplotlib 源代码:: matplotlib 源代码::
# 1、安装包 $ pip install numpy # 2、进入python的交互式界面 $ python -i # 3、使用numpy >>> from numpy import * >>> eye(4) # 4、输出结果 array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]])