问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Numpy 简介

创作时间:
作者:
@小白创作中心

Numpy 简介

引用
1
来源
1.
http://m.imooc.com/wiki/details?a=numpylesson


图片来自 NumPy 中文网

1. 什么是 NumPy?

Numpy,即Numerical Python的缩写,是Python语言的一个扩展程序库,支持数组结构与矩阵运算,并且针对数组运算提供大量便捷的数学函数库。Numpy大大简化了向量和矩阵的操作及处理流程,降低了数据开发的门槛。除了做数值计算和统计分析,在程序中处理和调试高级用例的时候,熟练掌握Numpy所带来的优势和便利也不言而喻。

纵观Python的开发生态,Numpy在数据分析、机器学习和科学计算领域,有着举足轻重的定位。数据分析用到的Pandas,数据挖掘和深度学习用到的Scikit-learn和Tensorflow,以及科学计算常用的SciPy,都是以Numpy为基础进行开发的。

2. NumPy 的特点

NumPy是一个运行速度非常快的数学库,主要包含如下能力:

  • 一个高效的N维数组对象ndarray;
  • 广播功能函数,无须循环即可对数组进行快速运算;
  • 读写磁盘以及操作内存映射文件;
  • 一个用于集成C/C++/Fortran代码的工具;
  • 线性代数、傅里叶变换、随机数生成等功能。

其中ndarray对象是NumPy包的核心,ndarray对象和标准的Python序列数据结构的显著区别在于:

  • ndarray对象在创建时有固定的大小,这一点不同于Python列表。
  • ndarray对象中的元素都具有相同的数据类型,因此在存储器中将具有相同的大小
  • ndarray对象便于对大量据进行高级数学和其他类型的操作。在大数据时代,对几百万甚至更大的数据进行频繁的循环迭代计算,于每一个数据开发者而言都是一场巨大的灾难,而Numpy利用矢量化运算,可以有效地避免这一点。

3. Numpy 的应用领域

3.1 科学计算

NumPy通常与SciPy(Scientific Python)和Matplotlib(绘图库)一起使用,这种组合广泛用于替代MatLab,是一个强大的科学计算环境,有助于我们通过Python学习数值计算或者统计分析。Python作为MatLab的替代方案,现在越来越被视为一种更加高效和可扩展的实现语言。

3.2 数据分析

Numpy专注于数组数据的处理,其和Pandas一起使用的时候,这种组合则将应用范畴从数据拓展到各种表格和杂乱的数据格式,是一个非常有用的工作助力。在大数据时代,经过合理的优化编排,Numpy/Pandas组合处理几个G的数据绰绰有余,甚至处理能力上探到几十个G。

4. 为什么要学习 NumPy?

Numpy是基于C语言开发,因此继承了C语言运算速度快、消耗资源少等优点,并且Numpy被广泛应用于数据分析、机器学习和深度学习等领域,因此掌握Numpy对能力提升和职场晋升的重要性不言而喻。

5. 适用人群

越来越多的用于科学计算与分析的包以Numpy作为底层数据结构基础,并且支持Python序列(如list)作为输入。例如上面提到的Scikit-learn、Pandas,他们在进行数据处理之前会默认将输入转化为Numpy数组。但是为了更有效地使用这些工具,只知道如何使用是不够的,还需要知道Numpy数组是如何工作的。

因此对于每一位从事科学计算、分析、数据处理相关工作的人,都需要学习并了解Numpy。

6. 本课程的学习基础

Numpy是Python开发生态中重要的一环,因此在学习Numpy之前,你需要具备一定的Python基础。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号