绝不能错过的24个Python库

2023-11-01 00:20
文章标签 python 24 错过 绝不能

本文主要是介绍绝不能错过的24个Python库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python有以下三个特点:

  • 易用性和灵活性
  • 全行业高接受度:Python无疑是业界最流行的数据科学语言
  • 用于数据科学的Python库的数量优势

事实上,由于Python库种类很多,要跟上其发展速度非常困难。因此,本文介绍了24种涵盖端到端数据科学生命周期的Python库。

文中提及了用于数据清理、数据操作、可视化、构建模型甚至模型部署(以及其他用途)的库。这是一个相当全面的列表,有助于你使用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的简单代码:

 
  1. import scrapy 
  2.  
  3. class Spider(scrapy.Spider): 
  4.     name = 'NAME' 
  5.     start_urls = ['LINK'] 
  6.  
  7.     def parse(self, response): 
  8.         for title in response.css('.post-header>h2'): 
  9.             yield {'title': title.css('a ::text').get()} 
  10.  
  11.         for next_page in response.css('a.next-posts-link'): 
  12.             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有以下特点:

  • 数据集连接和合并
  • 删除和插入数据结构列
  • 数据过滤
  • 重塑数据集
  • 使用DataFrame对象来操作数据等

下面是一篇文章以及一份很棒的Cheatsheet,有助于使Pandas技能达标:

这篇关于绝不能错过的24个Python库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/319156

相关文章

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python