导读:随着近几年Python已成为数据科学行业中大火的编程语言,我们将根据以往的经验来为大家总结一下数据科学家和工程师几个最实用的python库。如果你是正在学习Python的学生,也许根据这个表单能够帮你更好地找到学习的重心。 因为所有的python库都是开源的,所以我们还列出了每个库的提交次数、贡献者人数和其他一些来自Github可以代表Python库流行度的指标。 核心库 1. NumPy(Github提交次数:15980,贡献者人数:522) 在用Python处理科学任务时,我们常常需要使用Python的SciPy Stack。SciPyStack是一个专门为用Python处理科学计算而设计的软件集(注意不要把SciPy Stack和SciPy库搞混啦;SciPy库只是SciPy Stack的一部分)。 让我们来看看SciPy Stack里面都包括什么:SciPy Stack其实相当庞大,包括了十几个库。其中NumPy库是它的核心库(特别是最重要的几个库)中的明星。 NumPy(来自NumericalPython)是构建科学计算代码集的最基础的库。 它提供了许多用Python进行n维数组和矩阵操作的功能。该库提供了NumPy数组类型的数学运算向量化,可以改善性能,从而加快执行速度。 2. SciPy(Github提交次数:17213,贡献者人数:489) SciPy是一个针对工程和科学库。 再次提醒大家SciPyStack不等于SciPy库: SciPy Stack包括线性代数、优化、整合和统计等模块,而 SciPy库的主要功能是建立在NumPy基础之上,因此它使用了大量的NumPy数组结构。 SciPy库通过其特定的子模块提供高效的数学运算功能,例如数值积分、优化等。 值得一提的是SciPy子模块中的所有功能都附有详细的文档可供查阅。 3. Pandas(Github提交次数:15089,贡献者人数:762) Pandas是一个简单直观地应用于“带标记的”和“关系性的”的数据的Python库。它是探索数据的完美工具,能快速简单地进行数据操作、聚合和可视化。 “数列(Series)”: 一维数组 “数据框(Data Frames)” :二维数组 例如,当你想从这两种数据结构中得到一个新的数据框,把一个数列作为新的一行添加至数据框,你就能得到一个如图所示的数据框。 下面列出的只是你可以用Pandas做的事情的一小部分: ● 轻松添加或删除数据框中的数列 ● 将其他数据结构转换为数据框 ● 处理缺失的数据,j2直播,比如用NaN表示它们 ● 强大的高效分组功能 下图:核心库的Google Trends历史记录 图片来源:trends.google.com 下图:核心库的GitHub下载请求历史记录 图片来源:datascience.com/trends 可视化类 4. Matplotlib(Github提交次数:21754,贡献者人数:588) MatPlotlib是另一个SciPy Stack的核心库。它是为能轻松生成简单而强大的可视化图标而量身定制。 MatPlotlib是一个超酷的库,它和NumPy,atv,SciPy以及Pandas一起使Python成为像MatLab、Mathematica这样的科学工具的强力竞争者。 然而,MatPlotlib是一个低端库。这意味着您需要编写更多的代码才能达到高级的可视化效果;换句话说,和使用其他高级工具相比,使用MatPlotlib你需要投入更多的精力,但总体来说MatPlotlib还是值得一试的。 付出一些努力,您就用MatPlotlib做任何您想做的可视化图表: ● 线路图 ● 散点图 ● 条形图和直方图 ● 饼状图 ● 茎图 ● 轮廓图 ● 矢量场图 ● 频谱图 Matplotlib还可用来创建标签、网格、图例和许多其他样式图。基本上,一切图表都可以通过Matplotlib来定制。 Matplotlib库还能支持不同的平台,并能使用不同的GUI套件来展示所得到的可视化图表。 各种IDE(比如IPython)都支持Matplotlib的功能。 除了Matplotlib,python还有一些其他库能让可视化变得更加容易。 下图:使用Matplotlib制作的图表展示 5. Seaborn(Github提交次数:1699,贡献者人数:71) Seaborn主要关注统计模型的可视化,包括热分布图(用来总结数据及描绘数据的整体分布)。 Seaborn是基于且高度依赖于Matplotlib的一个python库。 下图:使用Seaborn制作的图表展示 6. Bokeh(Github提交次数:15724,贡献者人数:223) (责任编辑:本港台直播) |