前段时间写了两个系列文章,分别介绍了Python中的两个重要的科学计算的库Numpy和Scipy。
从系列的文章中,可以看出,它们都提供了强大的数值计算功能,而且很多地方看着似乎是重复的。

其实这两个库虽然密切相关,但它们各自侧重的领域是不同的。
本篇我根据自己的使用体验,对两个库进行简单的对比分析。
1. Numpy的侧重点
首先是Numpy库,我认为它是Python中最基础的数值计算库,它是很多知名的科学计算库的基础(包括Scipy,其实也是基于Numpy的)。
这个库的名称Numpy分两部分,前半部分Num就是numerical的缩写,表示它专注于数值处理;py则是Python的缩写。
Numpy最强大的地方在于它的多维数组对象(ndarray),不仅可以存储和处理大规模的数据,而且在进行数学运算时具有很高的性能。
使用Numpy进行数值计算,绝对能改变你对Python运行性能差的固有印象。
这是因为Numpy并没有直接使用Python语言原生的列表,元组等数据结构来实现它的多维数组。
而是借鉴了C/C++的方式,不仅让数组中的元素类型保持一致,存储上也是放在连续的内存块中,所以计算时的性能有飞跃提升。
除了在底层上提供了一个高效的数据结构(ndarray),还基于次结构提供了一系列数学函数,可以像操作单个数值一样进行各类数学运算,也包括复杂的矩阵计算。
总之,Numpy侧重于为我们提供一套高效的计算工具箱,只要把我们需要计算的数据映射到Numpy的ndarry数组,就可以高效的完成各种数学计算。
但是,Numpy本身并不与某个具体的科学领域先关联。
2. Scipy的侧重点
相比于Numpy,SciPy更加注重科学和工程领域的应用。
从这个库的名称SciPy也可以看出,前半部分Sci就是scientific的缩写,表示它是用于科学领域的;py则是Python的缩写。
SciPy是基于Numpy的,它利用了NumPy中高效的多维数组结构(即ndarray)和基于此结构的各种计算函数。
只不过,SciPy是按照不同的科学和工程领域,封装了不同的数学函数和算法,比如系列文章中介绍的求解线性方程组、最优化问题、信号处理等12个不同的子模块。
用个可能不太恰当的比喻来说的话,比如Numpy是塑料,
如果我们把塑料做成一次性的杯子和碗的话,那就可用于餐饮行业;
如果我们把塑料做成风扇和空调外壳的话,那就可用于家电行业;
如果我们把塑料做成儿童玩具的话,那就可用于儿童消费品行业;
。。。。。。
将塑料(Numpy)封装成各个行业直接可用的部件,就是Scipy的主要功能。
Scipy针对不同的领域封装了不同的子模块,每个子模块中有对应领域最常用的函数。
3. 两者的选择
对于NumPy和SciPy,两者是相互依赖的,我们并不需要做出究竟选择哪一个更好的决定。
其实在大部分实际情况下,都是结合使用这两个库的。
一般都是先用Numpy来处理数据,数据处理好之后,再用Scipy中针对各个科学领域封装好的函数直接运算出结果。
例如,在数据分析时,先利用NumPy提供的高效数据处理和数学计算功能处理数据,再用SciPy提供的更高级的科学计算工具来进行分析。
在机器学习时,先利用NumPy提供矩阵运算和线性代数功能处理数据,再用SciPy提供的更高级的优化算法和信号处理功能进行模型训练和调优。
总的来说,NumPy和SciPy都是Python中重要的科学计算库,它们各自侧重的领域有所不同。
NumPy专注于提供高性能的数组操作和数学函数(底层),
而SciPy则更加注重科学和工程领域的应用(上层)。
在实际使用中,这两个库通常需要一起使用,以便充分利用它们各自的强大功能。
题外话
当下这个大数据时代不掌握一门编程语言怎么跟的上时代呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。


二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试宝典


简历模板

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
若有侵权,请联系删除
本文对比分析了Python中的Numpy和Scipy两个科学计算库。Numpy是基础数值计算库,以其高效的多维数组对象ndarray和丰富的数学函数著称,而Scipy则更注重科学和工程领域的应用,提供了多个针对不同领域的子模块。在实际使用中,两者通常结合使用,Numpy处理数据,Scipy进行特定领域的计算。
701

被折叠的 条评论
为什么被折叠?



