Python中的Pandas Series.str.extract()2025年1月5日 | 阅读 3 分钟 引言数据处理是数据分析的基本方面,而 Python 的 Pandas 库是处理此目的的强大工具。Pandas 中一个特别有用的功能是 str.extract() 方法,它允许您使用正则表达式从字符串 Series 中提取子字符串。在本文中,我们将探讨如何使用 str.extract() 从文本数据中提取有价值的信息,并通过示例展示其功能。 理解 str.extract() 方法str.extract() 方法是 Pandas Series 访问器 str 的一部分,它为 Series 对象提供了向量化的字符串函数。str.extract() 方法以正则表达式模式作为参数,并返回一个新 Series,其中包含原始 Series 中每个元素的模式的第一个匹配项。如果找不到匹配项,则结果为 NaN。 语法参数
现在让我们探讨 str.extract() 方法的一些常见用例。 提取电话号码str.extract() 的一个常见用例是从字符串 Series 中提取电话号码。假设我们有一个包含可能包含各种格式电话号码的字符串的 Series。我们可以使用正则表达式来提取电话号码 输出 0 123-456-7890 1 (987) 654-3210 2 555.123.4567 Name: text, dtype: object 在此示例中,正则表达式 r'(\d{3}[-.\s]??\d{3}[-.\s]??\d{4})' 匹配 xxx-xxx-xxxx、xxx.xxx.xxxx 或 xxx xxx xxxx 格式的电话号码。 提取电子邮件地址另一项常见任务是从文本中提取电子邮件地址。我们可以使用正则表达式来标识和提取字符串 Series 中的电子邮件地址 输出 0 None 1 None 2 None Name: text, dtype: object 在此示例中,正则表达式 r'([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})' 匹配 username@domain.com 格式的电子邮件地址。 提取日期我们还可以使用 str.extract() 从文本中提取日期。假设我们有一个包含可能包含各种格式日期的字符串的 Series。我们可以使用正则表达式来提取日期 输出 0 2023-01-01 1 12/15/2022 2 1st Jan, 2024 Name: text, dtype: object 在此示例中,正则表达式匹配 yyyy-mm-dd、mm/dd/yyyy 或 d{1,2}(st|nd|rd|th) month, yyyy 格式的日期。 处理缺失数据如果正则表达式与字符串的任何部分都不匹配,str.extract() 将返回 NaN。我们可以使用 fillna() 方法来处理缺失值 输出 0 2023-01-01 1 12/15/2022 2 1st Jan, 2024 Name: text, dtype: object 这会将 NaN 值替换为指定的字符串(在本例中为“未找到日期”)。 好处
结论Pandas 中的 str.extract() 方法提供了一种使用正则表达式从字符串中提取信息的强大方法。它在从非结构化文本中提取结构化数据(如电话号码、电子邮件地址和日期)时特别有用。通过掌握此方法,您可以增强数据处理能力,并从文本数据中提取有价值的见解。 在本文中,我们介绍了 str.extract() 的基本用法,并探讨了几个实际示例。但是,正则表达式可能很复杂,掌握它们需要实践。我鼓励您尝试不同的模式,并探索 str.extract() 提供的全部功能。 |
? 简介 Python 以其简洁性和可读性而闻名,提供了丰富的特性,使其成为许多开发者的首选。其中一个这样的组件是切片,一种允许你从字符串、列表和元组等序列中提取部分的策略。切片不是...
阅读 6 分钟
? 文本文件比较是编程中的常见任务,通常用于版本控制、数据验证和质量保证等任务。凭借其多功能库,Python 提供了比较两个文本文件的有效方法。本文将探讨 Python 提供的各种方法和库...
阅读 6 分钟
Python 文档处理可以成为自动化诸如编写、编辑和读取 Word 文档等操作的有用工具。许多应用程序,如内容管理、报告生成和数据提取,都依赖于此功能。许多 Python 库可以促进和加速此过程。在这里,我们将...
阅读 3 分钟
二进制文件是包含二进制格式数据的计算机文件。数据表示为字节序列,每个字节长八位。要解释二进制文件的内容,必须使用理解如何……的程序或硬件处理器。
阅读 6 分钟
在 Python 中,身份运算符是用于比较两个对象的内存位置的特殊运算符。它们不比较变量持有的值,而是检查两个变量是否引用内存中完全相同的对象。Python 提供了两个身份运算符:运算符 描述 is 检查两个变量...
5 分钟阅读
Python 中的导入充当了一个主要系统,用于在程序中访问来自不同文档、模块或包的代码。它们能够重用代码,并有助于将大型项目组织成合理的单元。让我们分解 Python 导入的关键部分:是什么……
阅读 8 分钟
简介:在数论和密码学中,素数至关重要。已经创建了许多技术来识别素数,这在许多应用中至关重要。Lucas 素性检验就是这样一种算法,它提供了一种快速区分素数的方法...
阅读 3 分钟
Flutter,由 Google 开发,主要设计用于 Dart,这是一种也由 Google 开发的语言。Flutter 是一个开源 UI 软件开发工具包,由 Google 开发,用于从单个代码库为移动、Web 和桌面构建原生编译的应用程序。Flutter 使用...
阅读 16 分钟
介绍:requests 库是一个广为人知且功能强大的 Python 库,用于简化 HTTP 请求的创建过程。它为发送 HTTP/1.1 请求和处理响应提供了一个易于使用的接口,使其成为 Web 开发人员、数据...的必备工具。
阅读 6 分钟
集合是非线性、无序的数据结构,这意味着我们无法像列表那样直接使用索引访问项目。但是,有几种方法可以从集合中检索元素。以下是一些示例:检索没有重复值的元素:我们可以遍历集合中的元素……
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India