数据结构论坛

首页 » 分类 » 分类 » 数据工程师需要掌握的18个Python库
TUhjnbcbe - 2023/6/2 21:33:00

作者

刘早起早起

责编

屠敏

本文对Python中在数据分析中需要掌握的库进行了整理,一起来看看吧!

目录

数据获取SeleniumScrapyBeautifulSoup数据清洗SpacyNumPyPandas数据可视化MatplotlibPyecharts数据建模Scikit-learnPyTorchTensorFlow模型检查Lime音频数据处理Librosa图像数据处理OpenCV-PythonScikit-image数据通信Pymongo数据分析结果web部署FlaskDjango数据获取

Selenium

Selenium是一个Web测试自动化框架,最初是为软件测试人员创建的。它提供了Web驱动程序API,供浏览器与用户操作交互并返回响应。它运行时会直接实例化出一个浏览器,完全模拟用户的操作,比如点击链接、输入表单,点击按钮提交等。所以我们使用它可以很方便的来登录网站和爬取数据。

可以使用brewinstallselenium的方式来快速安装selenium。

数据获取

Scrapy

Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。其吸引人的地方在于任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。我们可以启用选择器(例如XPath,CSS)从网页中提取数据。

我们需要先安装Twisted,因为直接安装scrapy的话,安装会失败。所以使用pipinstallTwisted-18.9.0-cp37-cp37m-win32.whl来安装,然后使用pipinstallscrapy来安装scrapy就可以了

数据获取

BeautifulSoup

BeautifulSoup也是一个从网站爬取数据的库,他提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

可以使用brewinstallbeautifulsoup4的方式来快速安装bf4。

数据清洗

Spacy

spacy可以用于进行分词,命名实体识别,词性识别等等,最核心的数据结构是Doc和Vocab。Doc对象包含Token的序列和Token的注释,Vocab对象是spaCy使用的词汇表,用于存储语言中共享的数据,spaCy通过集中存储字符串,单词向量和词汇属性等,避免存储数据的多个副本。

数据清洗

NumPy

NumPy(NumericalPython)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。对数组执行数学运算和逻辑运算时,NumPy是非常有用的。在用Python对n维数组和矩阵进行运算时,NumPy提供了大量有用特征。

数据清洗

Pandas

pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

数据可视化

Matplotlib

matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制,然后再用一系列的函数调整结果。它有一套完全仿照MATLAB的函数形式的绘图接口,在matplotlib.pyplot模块中。这套函数接口方便MATLAB用户过度到matplotlib。

数据可视化

Pyecharts

Echarts是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可,当Python遇到了Echarts,就变成了PyEcharts,目的就是为了与Python进行对接,方便在Python中直接使用数据生成图。

数据建模

Scikit-learn

scikit-learn包含众多顶级机器学习算法,主要有六大基本功能,分别是分类、回归、聚类、数据降维、模型选择和数据预处理。scikit-learn拥有非常活跃的用户社区,基本上其所有的功能都有非常详尽的文档供用户查阅。可以研读scikit-learn的用户指南及文档,对其算法的使用有更充分的了解。

数据建模

Pytorch

PyTorch是美国互联网巨头Facebook在深度学习框架Torch的基础上使用Python重写的一个全新的深度学习框架,它更像NumPy的替代产物,不仅继承了NumPy的众多优点,还支持GPUs计算,在计算效率上要比NumPy有更明显的优势;不仅如此,PyTorch还有许多高级功能,比如拥有丰富的API,可以快速完成深度神经网络模型的搭建和训练。

数据建模

Tensorflow

TensorFlow是一个采用数据流图(dataflowgraphs),用于数值计算、机器学习、神经网络的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。

模型检查

Lime

LIME能够解释所有我们可以获得预测概率的模型(在R中,也就是每一个与预测(type=“prob”)一起工作的模型)。它利用了这样一个事实,即线性模型很容易解释,因为它们基于特征和类标签之间的线性关系:将复模型函数用局部拟合线性模型逼近原训练集的排列。

音频数据处理

Librosa

librosa是一个非常强大的python语音信号处理的第三方库,用于音频、音乐分析、处理和些常见的时频处理、特征提取、绘制声音图形等功能应有尽有,功能十分强大。学会librosa后再也不用用python去实现那些复杂的算法了,只需要一句语句就能轻松实现。

图像数据处理

OpenCV

OpenCV是计算机视觉领域应用最广泛的开源工具包,基于C/C++,支持Linux/Windows/MacOS/Android/iOS,并提供了Python,Matlab和Java等语言的接口,因为其丰富的接口,优秀的性能和商业友好的使用许可,不管是学术界还是业界中都非常受欢迎。

可以在anaconda中来安装OpenCV

图像数据处理

Scikit-imag

scikit-image是一种开源的用于图像处理的Python包。它包括分割,几何变换,色彩操作,分析,过滤等算法。它用作集成到python运算环境结合一些科学运算库(Numpy,Scipy)

安装sudoapt-getinstallpython-skimage

源码gitclone

1
查看完整版本: 数据工程师需要掌握的18个Python库