来源:读芯术
本文约6800字,建议阅读10分钟。
本文为你介绍24种涵盖端到端数据科学生命周期的Python库。
Python有以下三个特点:
- 易用性和灵活性
- 全行业高接受度:Python无疑是业界最流行的数据科学语言
- 用于数据科学的Python库的数量优势
事实上,由于Python库种类很多,要跟上其发展速度非常困难。因此,本文介绍了24种涵盖端到端数据科学生命周期的Python库。
文中提及了用于数据清理、数据操作、可视化、构建模型甚至模型部署(以及其他用途)的库。这是一个相当全面的列表,有助于你使用Python开启数据科学之旅。
用于不同数据科学任务的Python库
用于数据收集的Python库:
- Beautiful Soup
- Scrapy
- Selenium
用于数据清理和数据操作的Python库:
- Pandas
- PyOD
- NumPy
- Spacy
用于数据可视化的Python库:
- Matplotlib
- Seaborn
- Bokeh
用于建模的Python库:
- Scikit-learn
- TensorFlow
- PyTorch
用于模型解释的Python库:
- Lime
- H2O
用于语音处理的Python库:
- Librosa
- Madmom
- pyAudioAnalysis
用于图像处理的Python库:
- OpenCV-Python
- Scikit-image
- Pillow
作为数据库的Python库:
- Psycopg
- SQLAlchemy
用于模型部署的Python库:
- Flask
用于数据收集的Python库
你是否曾遇到过这样的情况:缺少解决问题的数据?这是数据科学中一个永恒的问题。这也是为什么学习提取和收集数据对数据科学家来说是一项非常重要的技能。数据提取和收集开辟了前所未有的道路。
以下是三个用于提取和收集数据的Python库:
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/
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/
Selenium
传送门:
https://www.seleniumhq.org/
Selenium是一个倍受欢迎的自动化浏览器工具。在业界常用于测试,但对于网页抓取也非常方便。Selenium在IT领域非常流行。