Python有以下三个特点:
事实上,由于Python库种类很多,要跟上其发展速度非常困难。因此,本文介绍了24种涵盖端到端数据科学生命周期的Python库。
文中提及了用于数据清理、数据操作、可视化、构建模型甚至模型部署(以及其他用途)的库。这是一个相当全面的列表,有助于你使用Python开启数据科学之旅。
用于数据收集的Python库
你是否曾遇到过这样的情况:缺少解决问题的数据?这是数据科学中一个永恒的问题。这也是为什么学习提取和收集数据对数据科学家来说是一项非常重要的技能。数据提取和收集开辟了前所未有的道路。
以下是三个用于提取和收集数据的Python库:
1. Beautiful Soup
传送门:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
收集数据的最佳方式之一就是抓取网站(当然是以合乎道德和法律的手段!)徒手做这件事需要耗费大量的劳动和时间。Beautiful Soup无疑是一大救星。
Beautiful Soup是一个HTML和XML解析器,可为被解析的页面创建解析树,从而用于从web页面中提取数据。从网页中提取数据的过程称为网页抓取。
使用以下代码可安装BeautifulSoup:
pip install beautifulsoup4
下面是一个可实现从HTML中提取所有锚标记的Beautiful Soup简单代码:
#!/usr/bin/python3
#Anchor extraction from html document from bs4
import BeautifulSoup from urllib.request
import urlopen
with urlopen('LINK') as response: soup
BeautifulSoup(response, 'html.parser')
for anchor in soup.find_all('a'):
print(anchor.get('href','/'))
建议阅读下面的文章,学习如何在Python中使用Beautiful Soup:
《新手指南:在Python中使用BeautifulSoup进行网页抓取》传送门:
https://www.analyticsvidhya.com/blog/2015/10/beginner-guide-web-scraping-beautiful-soup-python/
2. Scrapy
传送门:https://docs.scrapy.org/en/latest/intro/tutorial.html
Scrapy是另一个可有效用于网页抓取的Python库。它是一个开源的协作框架,用于从网站中提取所需数据。使用起来快捷简单。
下面是用于安装Scrapy的代码:
pip install scrapy
Scrapy是一个用于大规模网页抓取的框架。可提供所有需要的工具有效地从网站中抓取数据,且依需要处理数据,并以使用者偏好的结构和格式存储数据。
下面是一个实现Scrapy的简单代码:
- import scrapy
- class 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中实现Scrapy的绝佳教程:
《使用Scrapy在Python中进行网页抓取(含多个示例)》传送门:
https://www.analyticsvidhya.com/blog/2017/07/web-scraping-in-python-using-scrapy/
3. Selenium
传送门:https://www.seleniumhq.org/
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库。请记住,文中仅指明在现实世界中处理结构化(数值)数据和文本数据(非结构化)——而该库列表涵盖了所有内容。
4. Pandas
传送门:https://pandas.pydata.org/pandas-docs/stable/
在数据操作和数据分析方面,Pandas绝无敌手。Pandas一度是最流行的Python库。Pandas是用Python语言编写的,主要用于数据操作和数据分析。
这个名称来源于术语“面板数据”,“面板数据”是一个计量经济学术语,指的是包含同一个人在多个时间段内的观察结果的数据集。
Pandas在Python or Anaconda中已完成预安装,但以防需要,安装代码如下:
pip install pandas
Pandas有以下特点:
下面是一篇文章以及一份很棒的Cheatsheet,有助于使Pandas技能达标: