python做大数据分析(一文总结数据科学家常用的Python库(上))python教程 / python在大数据处理中的角色解析...

wufei123 发布于 2024-06-27 阅读(8)

编译 | 安可来源 | analyticsvidhya.com【磐创AI导读】:本系列文章为大家总结了24个热门的python库,后续会更新想要获取更多的机器学习、深度学习资源,欢迎大家点击上方蓝字关注我们的公众号:。

磐创AI概述这篇文章中,我们挑选了24个用于数据科学的Python库这些库有着不同的数据科学功能,例如数据收集,数据清理,数据探索,建模等,接下来我们会分类介绍您觉得我们还应该包含哪些Python库?让我们知道!。

介绍我是Python语言的忠实粉丝,它是我在数据科学方面学到的第一门编程语言Python有三个特点:它的易用性和灵活性全行业的接受度:它是业内最流行的数据科学语言用于数据科学的庞大数量的Python库事实上,有如此多的Python库,要跟上它们的发展速度可能会变得非常困难。

这就是为什么我决定消除这种痛苦,并编辑这24个Python库换句话说,在数据科学领域,你掌握这个24个python库就够了!

那是对的 - 我根据各自在数据科学中的角色对这些库进行了分类所以我提到了用于数据清理,数据操作,可视化,构建模型甚至模型部署(以及其他)的库这是一个非常全面的列表,可帮助您开始使用Python进行数据科学之旅。

用于不同数据科学任务的Python库:用于数据收集的Python库:Beautiful SoupScrapySelenium用于数据清理和操作的Python库:PandasPyODNumPySpacy用于数据可视化的Python库:

MatplotlibSeabornBokeh用于建模的Python库:Scikit-learnTensorFlowPyTorch用于模型可解释性的Python库:LimeH2O用于音频处理的Python库:

LibrosaMadmompyAudioAnalysis用于图像处理的Python库:OpenCV-PythonScikit-imagePillow用于数据库的Python库:PsycopgSQLAlchemy

用于部署的Python库:Flask用于数据收集的Python库您是否遇到过一种情况,即您没有足够的数据来解决您想要解决的问题?这是数据科学中一个永恒的问题这就是为什么学习如何提取和收集数据对数据科学家来说是一项非常关键的技能。

它开辟了以前无法实现的途径所以这里有三个有用的Python库,用于提取和收集数据/* Beautiful Soup */收集数据的最佳方法之一是抓取网站(当然是道德和合法的!)手动完成需要花费太多的手动工作和时间。

美丽的汤是你的救星Beautiful Soup是一个HTML和XML解析器,它为解析的页面创建解析树,用于从网页中提取数据从网页中提取数据的过程称为网络抓取使用以下代码安装BeautifulSoup:pip 

install beautifulsoup4这是一个实现Beautiful Soup的简单代码,用于从HTML中提取所有anchor标记:#!/usr/bin/python3# Anchor extraction from html document

from bs4 import BeautifulSoupfrom urllib.request import urlopenwith urlopen(LINK) as response:soup = BeautifulSoup(response, 

html.parser)for anchor in soup.find_all(a):print(anchor.get(href, /))我建议通过以下文章来学习如何在Python中使用BeautifulSoup:

使用BeautifulSoup在Python中进行Web Scraping的初学者指南(https://www.analyticsvidhya.com/blog/2015/10/beginner-guide-web-scraping-beautiful-soup-python/)

/* Scrapy */Scrapy是另一个用于Web抓取的超级有用的Python库它是一个开源和协作框架,用于从网站中提取您需要的数据它使用起来快速而简单这是安装Scrapy的代码:pip install。

 scrapy

它是大规模网络抓取的框架它为您提供了有效提取网站数据,根据需要处理数据并将其存储在首选结构和格式中所需的所有工具这是一个实现Scrapy的简单代码:import scrapyclassSpider(scrapy.Spider)

:name = NAMEstart_urls = [LINK]defparse(self, response):for title in response.css(.post-header>h2):yield

 {title: title.css(a ::text).get()}for next_page in response.css(a.next-posts-link):yield response.follow(next_page, self.parse)

这是学习Scrapy并在Python中实现它的完美教程:使用Scrapy在Python中进行Web Scraping(有多个示例)(https://www.analyticsvidhya.com/blog/2017/07/web-scraping-in-python-using-scrapy/)

/* Selenium */Selenium是一种用于自动化浏览器的流行工具它主要用于行业测试,但对于网络抓取也非常方便实际上,Selenium在IT领域变得非常受欢迎,所以我相信很多人至少会听说过它

我们可以轻松地编写Python脚本以使用Selenium自动化Web浏览器它为我们有效地提取数据并以我们喜欢的格式存储数据,以供将来使用我最近写了一篇关于使用Python和Selenium抓取YouTube视频数据的文章:。

数据科学项目:使用Python和Selenium对YouTube数据进行刮擦以对视频进行分类(https://www.analyticsvidhya.com/blog/2019/05/scraping-classifying-youtube-video-data-python-selenium/)

用于数据清理和操作的Python库好吧 - 所以你已经收集了你的数据并准备好潜入现在是时候清理我们可能面临的任何混乱数据并学习如何操作它,以便我们的数据可以用于建模这里有四个Python库可以帮助您实现这一目标。

请记住,我们将处理现实世界中的结构化(数字)和文本数据(非结构化) - 这个库列表涵盖了所有这些/* Pandas */在数据处理和分析方面,没有什么能比pandas更胜一筹它是现阶段最流行的Python库。

Pandas是用Python语言编写的,特别适用于操作和分析任务Pandas需要预先安装Python或Anaconda,这里是需要的代码:pip install pandas

Pandas提供的功能如下:数据集加入和合并数据结构列删除和插入数据过滤重塑数据集DataFrame对象操纵数据等等!这是一篇文章和一个很棒的备忘单,让你的pandas技能达到最佳状态:12用于数据操作的Python中有用的熊猫技术

(https://www.analyticsvidhya.com/blog/2016/01/12-pandas-techniques-python-data-manipulation/)CheatSheet:使用Python中的Pandas进行数据探索

(https://www.analyticsvidhya.com/blog/2015/07/11-steps-perform-data-analysis-pandas-python/)/* PyOD */

在检测异常值时苦苦挣扎?你不是一个人这是有抱负(甚至已建立)数据科学家的常见问题你如何定义异常值?别担心,PyOD库可以帮到您PyOD是一个全面且可扩展的Python工具包,用于检测外围对象异常检测基本上是识别与大多数数据显着不同的稀有项目或观察。

您可以使用以下代码下载pyOD:pip install pyod想了解PyOD如何工作以及如何自己实现?那么,下面的指南将回答你所有的PyOD问题:使用PyOD库在Python中学习异常检测的一个很棒的教程

(https://www.analyticsvidhya.com/blog/2019/02/outlier-detection-python-pyod/)/* NumPy */像Pandas一样,NumPy是一个非常受欢迎的Python库。

NumPy引入了支持大型多维数组和矩阵的函数它还引入了高级数学函数来处理这些数组和矩阵NumPy是一个开源库,有多个贡献者它预先安装了Anaconda和Python,这里是安装它的代码:pip install。

 numpy

# 创建数组import numpy as npx = np.array([1, 2, 3])print(x)y = np.arange(10)print(y)# output - [1 2 3]# [0 1 2 3 4 5 6 7 8 9]

# 基本操作a = np.array([1, 2, 3, 6])b = np.linspace(0, 2, 4)c = a - bprint(c)print(a**2)#output - [1. 1.33333333 1.66666667 4. ]

# [ 1 4 9 36]还有更多!/* SpaCy */到目前为止,我们已经讨论了如何清理和操作数值数据但是,如果你正在处理文本数据呢?spaCy是一个超级有用且灵活的自然语言处理(NLP)库和框架,用于清理文本文档以进行模型创建。

与用于类似任务的其他库相比,SpaCy更快在Linux中安装Spacy的代码:pip install -U spacypython -m spacy download en要在其他操作系统上安装它,请参考此链接(https://spacy.io/usage/)。

当然,我们为您学习spaCy提供了保障:自然语言处理变得轻松 - 使用SpaCy(在Python中)(https://www.analyticsvidhya.com/blog/2017/04/natural-language-processing-made-easy-using-spacy-%e2%80%8bin-python/)

用于数据可视化的Python库下一个是什么?我在整个数据科学最喜欢的方面 - 数据可视化!数据可视化后,我们的假设将得到直观的验证!这里有三个用于数据可视化的很棒的Python库/* Matplotlib */。

Matplotlib是Python中最流行的数据可视化库它允许我们生成和构建各种图表它可以与Seaborn一起使用您可以通过以下代码安装matplotlib:pip install matplotlib。

以下是我们可以使用matplotlib构建的不同类型的图表的几个示例:# 直方图%matplotlib inlineimport matplotlib.pyplot as pltfrom numpy.random 

import normalx = normal(size=100)plt.hist(x, bins=20)plt.show()

# 3D图from matplotlib import cmfrom mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as pltimport

 numpy as npfig = plt.figure()ax = fig.gca(projection=3d)X = np.arange(-10, 10, 0.1)Y = np.arange(-10

, 10, 0.1)X, Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2)Z = np.sin(R)surf = ax.plot_surface(X, Y, Z, rstride=

1, cstride=1, cmap=cm.coolwarm)plt.show()

既然我们已经介绍了Pandas,NumPy和现在的matplotlib,请查看下面的教程,将这三个Python库网格化:使用NumPy,Matplotlib和Pandas在Python中进行数据探索的终极指南

(https://www.analyticsvidhya.com/blog/2015/04/comprehensive-guide-data-exploration-sas-using-python-numpy-scipy-matplotlib-pandas/)

/* Seaborn */Seaborn是另一个基于matplotlib的绘图库它是一个python库,提供高级界面来绘制有吸引力的图形matplotlib可以做什么,Seaborn只是以更具视觉吸引力的方式做到这一点。

Seaborn的一些功能是:面向数据集的API,用于检查多个变量之间的关系方便地查看复杂数据集的整体结构用于选择显示数据中图案的调色板的工具您只需使用一行代码即可安装Seaborn:pip install

 seaborn

让我们通过一些很酷的图表来看看seaborn能做什么:import seaborn as snssns.set()tips = sns.load_dataset("tips")sns.relplot(x=

"total_bill", y="tip", col="time",hue="smoker", style="smoker", size="size",data=tips);

这是另一个例子:import seaborn as snssns.catplot(x="day", y="total_bill", hue="smoker",kind="violin", split=True

, data=tips);

/* Bokeh */Bokeh是一个交互式可视化库,面向现代Web浏览器进行演示它为大量数据集提供了多种图形的优雅构造Bokeh可用于创建交互式图表,仪表板和数据应用程序安装代码:pip install。

 bokeh

请随意阅读以下文章,了解有关Bokeh的更多信息并查看其中的操作:使用Bokeh进行交互式数据可视化(在Python中)(https://www.analyticsvidhya.com/blog/2015/08/interactive-data-visualization-library-python-bokeh/)

你也许还想看:● 21个必须知道的机器学习开源工具● 重磅!!!一文总结Pytorch的8张思维导图!● 半监督学习将再度兴起!谷歌祭出大杀器:无监督数据增强欢迎扫码关注:

点击下方 | 阅读原文 | 了解更多

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻25647