python数据分析三大库,数据库与python
全文3118字,预计学习时间13分钟。
来源:搜索引擎杂志
如果你是一个数据科学家或数据分析师,或者只是对这个行业感兴趣,你一定知道下面这些流行且非常实用的Python库。
从数据收集、清洗和转换,到数据可视化、图像识别和网页关联,这15个Python库涵盖的范围很广。本文将对它们进行介绍。
我相信你对其中的一些很熟悉,但如果你不知道,我强烈建议你好好了解一下。
数据收集
图片:unsplash
大多数数据分析项目都是从数据收集和提取开始的。在某些情况下,在为公司处理现有问题时,公司可能会提供相关的数据集。但是有时候,可能没有现成的数据,需要数据工程师自己去收集。最常见的情况是数据工程师需要在网上找数据。
1. Scrapy
来源:letslearnabout
要写一个Python网络爬虫从网页中提取信息,Scrapy可能是大多数人想到的第一个Python库。例如,用户可以提取某个城市所有餐馆的评论,或者收集某个在线购物网站上某个产品的所有评论。
这个库最常见的用途是用它来识别出现在网站页面上的那些有趣的信息模式,不管这些信息是以URL还是XPath的形式出现的。一旦这些信息的模式被整理出来,Scrapy可以帮助用户自动提取所需的信息,并将其组织成表格或JSON格式的数据结构。
Scrapy可以很容易地用pip安装。
2. Selenium
来源:媒体
Selenium设计者的初衷是让它成为一个自动化的网站测试框架,但是开发者发现它作为一个web数据抓取工具效果更好。
在用户在他们感兴趣的网站上进行互动后,Selenium通常可以派上用场。例如,用户可能需要在网站上注册一个帐户,登录自己的帐户,然后单击几个按钮或链接来找到他们想要的内容。
以上链接定义为JavaScript函数。在这种情况下,可能不方便涂刺痒或者美人汤,但是硒可以轻松完成这个过程。
但是,需要注意的是,Selenium的运行速度要比普通的grab库慢得多。这是因为Selenium会像Chrome一样初始化一个浏览器,并模拟浏览器代码定义的所有行为。
所以在处理URL模式或者Xpaths的时候,最好还是用Scrapy或者美人汤,不要把硒作为最后的手段。
3. BeautifulSoup
图片:gitconnected
Beautiful Soup是另一个可以用来收集网站内容的Python库。一般认为,学习BeautifulSoup所需的时间比学习Scrapy所需的时间要短得多。况且美汤更适合相对小规模的问题或者一次性的任务。
Scrapy需要用户自己开发“爬虫”,通过命令行操作,而使用美汤只需要将其功能导入电脑,在线使用即可。因此,用户甚至可以将美丽的汤应用到自己的Jupyternotebook中。
数据清理和转换
图片:unsplash
不需要描述数据清理和转换的重要性。已经有很多优秀的Python库可以完美处理这个问题。我将选择几个我作为数据科学家或分析师必须了解的做一个简单的介绍。
4. Pandas
这里提到熊猫可能有点多余。只要是处理过数据的从业者,不可能没用过熊猫。
用户可以使用Pandas来操作Pandas数据框中的数据。熊猫也有大量的内置功能来帮助用户进行数据转换。
不用说,熊猫是学好Python必不可少的。
5. Numpy
来源:媒体
Numpy和熊猫一样,是普通用户、数据科学家和分析师不可或缺的Python库。
Numpy将Python的对象列表扩展成一个全面的多维序列。同时,Numpy还内置了大量的数学函数,可以满足用户几乎所有的运算需求。一般用户可以用Numpy序列作为矩阵,进行矩阵运算。
我相信大部分数据科学家在开始写Python代码的时候,第一步就是输入以下内容:
将numpy作为np导入
进口熊猫作为pd
所以说以上两个库是最受Python用户欢迎的也无可厚非。
6. Spacy
来源:媒体
Spacy可能没有上两个图书馆出名。Numpy和Pandas主要用于处理数值型数据和结构化数据,而Spacy可以帮助用户将自由文本转化为结构化数据。
Spacy是最流行的自然语言处理库之一。从购物网站抓取大量商品评论后,我们需要从中提取有用的信息,以便进行分析。Spacy包含了很多内置函数,可以为用户的工作提供很多帮助。如词法分析器、命名个体识别和特定文本检测。
Spacy的另一个亮点是支持多种语言版本。官方网站声称该库有超过55种语言版本。
数据可视化
图片:unsplash
数据可视化是数据分析中不可缺少的环节。只有将结果可视化,才能解释数据内容。
7. Matplotlib
图片:scriptverse
Matplotlib是最全面的Python数据可视化库。有人认为Matplotlib的界面很丑,但笔者认为作为最基础的Python数据可视化库,Matplotlib可以为用户的可视化目标提供最大的可能性。
使用JavaScript的开发者也有自己的可视化库,但是当他们处理的任务涉及到大量高级库不支持的自定义函数时,开发者就必须使用D3.js,Matplotlib也是如此。
8. Plotly
图片:pngitem
虽然作者坚信要将数据可视化,需要掌握Matplotlib,但在大多数情况下,读者更倾向于使用Plotly,因为Plotly只需要编写最少的代码,就可以得到最丰富多彩的图像。
无论是要构造3D曲面地图,还是基于地图的散点图,还是交互式动画地图,Plotly都能在最短的时间内满足要求。
Plotly还提供了一个table studio,用户可以将自己的可视化上传到一个在线存储库中,以供将来编辑。
数据模块化
图片:unsplash
从事模块化的数据分析师通常被称为高级分析师。现在机器学习已经不是什么新概念了。Python被普遍认为是机器学习最常用的语言,所以在Python中有很多优秀的库支持它的使用。
9. Scikit Learn
资料来源:kindpng
在沉迷于“深度学习”之前,每个人都应该通过使用Scikit Learn开始自己的机器学习之旅。Sci Learn有六个主要模块,具有以下功能:
数据预处理
降维
数据回归
数据分类
数据聚类分析
型号选择
只要你能利用好Scikit Learn,你就可以算是一个优秀的数据科学家。
10. Tensorflow
Tensorflow是Google推出的开源机器学习库。它最受欢迎的功能是Tensorboard上的数据流图像。
Tensorboard是一个基于网页的自动生成仪表板,它将数据学习流程和结果可视化。这个函数对于调试和显示非常有用。
11. PyTorch
资料来源:mattolpinski
PyTorch是由脸书发布的开源库,用作Python的公共机器学习框架。相比Tensorflow,PyTorch的说法更适合Python。所以更容易学会使用PyTorch。
作为一个专注于深度学习的库,PyTorch还拥有丰富的API函数和内置函数,可以帮助数据科学家更快地训练他们的深度学习模型。
和音频图像识别。
图片:unsplash
机器学习不仅可以处理数字,还可以帮助处理音频和图像(视频通常被认为是许多帧图像的组合)。所以在处理这些多媒体数据的时候,上面的机器学习库远远不够。
12. OpenCV
图片:opencv
OpenCV是最常用的图像和视频识别库。毫不夸张的说,OpenCV可以让Python在图像和视频识别领域完全取代Matlab。
OpenCV提供了各种应用程序接口,它不仅支持Python,还支持Java和Matlab。OpenCV出色的处理能力使其在计算机行业和学术研究中广受赞誉。
13. Librosa
来源:github
Librosa是一个非常强大的用于音频和声音处理的Python库。Librosa可以用来从音频片段中提取各种声部,比如节奏、韵律、节拍等。
使用Librosa后,只需几行代码就可以轻松应用像拉普拉斯分割这样极其复杂的算法。
网页
图片:unsplash
Python在被广泛应用于数据科学领域之前,曾经是web开发的宠儿。所以网页开发有很多库。
14. Django
来源:阿姆斯特丹
要用Python开发一个web服务后端,Django一直是最佳选择。Django的设计理念是只用几行代码就能构建一个网站的高层框架。
Django直接连接到大多数知名数据库,这样用户可以节省连接建立和数据模型开发的时间。Django的用户只需要专注于业务逻辑,不用担心被create,update,retrieve,delete (cur)操纵,因为Django是一个数据库驱动的框架。
15. Flask
图片:python编程
Flask是Python的轻量级web开发框架。它最有价值的特点是可以很容易地定制以满足任何需求。
很多知名的提供网站UI的Python库和Python工具都是用Flask搭建的,比如Plotly Dash和Airflow。这些网站之所以使用Flask,正是因为其轻量级的特点。
诚然,有很多优秀的Python库应该被提及,但这些库足够你学习一段时间了。人生苦短,及时Python!
留言 点赞 关注
我们一起分享AI学习和开发的干货。
欢迎关注全平台AI挂自媒体“核心阅读”
(添加边肖微信:dxsxbb,加入读者圈,一起探讨最新鲜的人工智能技术~)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。