目录

NumPy是什么?为什么科学计算,数据分析,机器学习都在用?

http://image.catbro.cn/a70486b0aa024.blob

概念

NumPy是使用Python进行科学计算的基础包。 它包含:

  • 强大的N维数组对象复杂(广播)函数工具,用于集成C / C ++和Fortran代码
  • 有用的线性代数,傅立叶变换和随机数功能除了明显的科学用途外
  • 通用数据的有效多维容器。 可以定义任意数据类型。 这使NumPy能够无缝快速地与各种数据库集成。
  • NumPy根据BSD许可证授权,只需很少的限制即可重复使用。

优点

  • 更便捷:对于同样的数值计算任务,使用NumPy要比直接编写Python代码便捷得多;
  • 高效率:NumPy中的数组的存储效率和输入输出性能均远远优于Python中等价的基本数据结构,且其能够提升的性能是与数组中的元素成比例的;
  • 高性能:NumPy的大部分代码都是用C语言写的,其底层算法在设计时就有着优异的性能,这使得NumPy比纯Python代码高效得多

缺点

  • 大文件限制:由于NumPy使用内存映射文件以达到最优的数据读写性能,而内存的大小限制了其对TB级大文件的处理;
  • 通用性NumPy数组的通用性不及Python提供的list容器。因此,在科学计算之外的领域,NumPy的优势也就不那么明显。