概述
介绍 我是Python语言的忠实粉丝,它是我在数据科学方面学到的第一门编程语言。Python有三个特点:
事实上,有如此多的Python库,要跟上它们的发展速度可能会变得非常困难。这就是为什么我决定消除这种痛苦,并编辑这24个Python库。换句话说,在数据科学领域,你掌握这个24个python库就够了! 那是对的 - 我根据各自在数据科学中的角色对这些库进行了分类。所以我提到了用于数据清理,数据操作,可视化,构建模型甚至模型部署(以及其他)的库。这是一个非常全面的列表,可帮助您开始使用Python进行数据科学之旅。 用于不同数据科学任务的Python库: 用于数据收集的Python库:
用于数据清理和操作的Python库:
用于数据可视化的Python库:
用于建模的Python库:
用于模型可解释性的Python库:
用于音频处理的Python库:
用于图像处理的Python库:
用于数据库的Python库:
用于部署的Python库:
用于数据收集的Python库 您是否遇到过一种情况,即您没有足够的数据来解决您想要解决的问题?这是数据科学中一个永恒的问题。这就是为什么学习如何提取和收集数据对数据科学家来说是一项非常关键的技能。它开辟了以前无法实现的途径。 所以这里有三个有用的Python库,用于提取和收集数据。 /* Beautiful Soup */ 收集数据的最佳方法之一是抓取网站(当然是道德和合法的!)。手动完成需要花费太多的手动工作和时间。美丽的汤是你的救星。 Beautiful Soup是一个HTML和XML解析器,它为解析的页面创建解析树,用于从网页中提取数据。从网页中提取数据的过程称为网络抓取。 使用以下代码安装BeautifulSoup: pip install beautifulsoup4 这是一个实现Beautiful Soup的简单代码,用于从HTML中提取所有anchor标记: #!/usr/bin/python3# Anchor extraction from html documentfrom 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:
/* Scrapy */ Scrapy是另一个用于Web抓取的超级有用的Python库。它是一个开源和协作框架,用于从网站中提取您需要的数据。它使用起来快速而简单。 这是安装Scrapy的代码: pip install scrapy 它是大规模网络抓取的框架。它为您提供了有效提取网站数据,根据需要处理数据并将其存储在首选结构和格式中所需的所有工具。 这是一个实现Scrapy的简单代码: import scrapyclass Spider(scrapy.Spider): name = 'NAME' start_urls = ['LINK'] def parse(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中实现它的完美教程:
/* Selenium */ Selenium是一种用于自动化浏览器的流行工具。它主要用于行业测试,但对于网络抓取也非常方便。实际上,Selenium在IT领域变得非常受欢迎,所以我相信很多人至少会听说过它。 我们可以轻松地编写Python脚本以使用Selenium自动化Web浏览器。它为我们有效地提取数据并以我们喜欢的格式存储数据,以供将来使用。 我最近写了一篇关于使用Python和Selenium抓取YouTube视频数据的文章:
用于数据清理和操作的Python库 好吧 - 所以你已经收集了你的数据并准备好潜入。现在是时候清理我们可能面临的任何混乱数据并学习如何操作它,以便我们的数据可以用于建模。 这里有四个Python库可以帮助您实现这一目标。请记住,我们将处理现实世界中的结构化(数字)和文本数据(非结构化) - 这个库列表涵盖了所有这些。 /* Pandas */ 在数据处理和分析方面,没有什么能比pandas更胜一筹。它是现阶段最流行的Python库。Pandas是用Python语言编写的,特别适用于操作和分析任务。 Pandas需要预先安装Python或Anaconda,这里是需要的代码: pip install pandas Pandas提供的功能如下:
这是一篇文章和一个很棒的备忘单,让你的pandas技能达到最佳状态:
/* PyOD */ 在检测异常值时苦苦挣扎?你不是一个人。这是有抱负(甚至已建立)数据科学家的常见问题。你如何定义异常值? 别担心,PyOD库可以帮到您。 PyOD是一个全面且可扩展的Python工具包,用于检测外围对象。异常检测基本上是识别与大多数数据显着不同的稀有项目或观察。 您可以使用以下代码下载pyOD: pip install pyod 想了解PyOD如何工作以及如何自己实现?那么,下面的指南将回答你所有的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:///usage/)。 当然,我们为您学习spaCy提供了保障:
用于数据可视化的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库网格化:
/* Seaborn */ Seaborn是另一个基于matplotlib的绘图库。它是一个python库,提供高级界面来绘制有吸引力的图形。matplotlib可以做什么,Seaborn只是以更具视觉吸引力的方式做到这一点。 Seaborn的一些功能是:
您只需使用一行代码即可安装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的更多信息并查看其中的操作:
|
|