Numpy
在许多数据科学项目中,阵列是最重要的数据类型。 NumPy是一个支持大量多维数组和矩阵运算的软件库,是许多机器学习开发者和研究者的必备工具。它是Python中最基础的数据科学库之一。它是大量Python数学和科学计算包的基础,比如我们后面会讲到的pandas库就用到了NumPy。
Pandas
Pandas库专门用于数据分析,充分借鉴了Python标准库NumPy的相关概念。它允许加载、清理和操作数据,能够对项目进行某种清理和操作。你可以使用SQL等替代方法进行数据操作和数据库管理,但是Pandas对于希望成为开发人员(或至少是MVP开发人员)的数据科学家来说更简单、更适用。
Keras 或 PyTorch
目前,两个主要的深度学习库Keras和Pytorch获得了大量关注,因为它们在神经网络模型的使用比较简单。这两个库能够让使用者轻松测试不同的神经网络架构,甚至构建自己的神经网络架构。Keras是神经网络的一个模型计算框架,本身没有重量计算,支持多个AI框架。Pytorch是一个机器学习框架,比起Keras具有更大的灵活性和控制能力,但又不必进行任何复杂的声明式编程,如果想深入了解机器学习pytorch库就是不错的选择。
Plotly
Plotly是新一代的Python数据可视化开发库,它提供了完善的交互能力和灵活的绘制选项。Plotly能绘制不同类型的图形,与Python中的其他绘图库相比,它更专业、更易于使用、更灵活。Plotly将数据可视化提升到一个新的层次。Plotly内置完整的交互能力及编辑工具,支持在线和离线模式,提供稳定的API以便与现有应用集成,既可以在web浏览器中展示数据图表,也可以存入本地拷贝。
SciKitLearn
SciKitLearn专门用于机器学习的模块,是多种类型的机器学习模型和预处理工具的工具包。它包含了常见的大部分机器学习方法,包括了分类、回归、无监督、数据降维、数据预处理等等。作为专门面向机器学习的Python开源框架,Scikitlearn可以在一定范围内为开发者提供非常好的帮助。它内部实现了各种各样成熟的算法,容易安装和使用,样例丰富,而且教程和文档也非常详细。
Ipywidgets
为了能让用户有更好的体验,开发者必须在在传统外观的用户界面和基于web的用户界面之间进行选择。在进行搭建时,可以使用PyQT或TkInter之类的库来构建传统的用户界。但最好是利用ipywidgets为Jupyter笔记本提供了一组丰富的小部件,开发出可以在浏览器上运行的网页应用程序。
Requests
Requests包用于获取网站的内容,使用HTTP协议,是公认的python最好上手的http请求库。
如今,许多数据科学应用程序都使用API(应用程序编程接口),简单地说,通过API,你可以请求服务器应用程序为你提供对数据库的访问权限或为你执行特定任务。Requests是一个与API对话的库。如今,不使用API很难成为一名数据科学家。
通过以上的7个Python库,开发者能够构建人们使用的数据科学应用程序,如果你能够精通这些工具,就可以在几个小时内构建mvp,并通过实际用户测试想法。在此之后,如果决定扩展应用程序,除了HTML、CSS和JS代码之外,还可以使用更专业的工具,如Flask和Django。