首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python使用regex创建新列

Python使用正则表达式(regex)创建新列的方法是通过pandas库中的str.extract()函数。str.extract()函数可以从一个字符串列中提取匹配正则表达式模式的内容,并创建一个新的列。

以下是使用regex创建新列的步骤:

  1. 导入必要的库:
代码语言:txt
复制
import pandas as pd
import re
  1. 创建一个包含字符串的DataFrame:
代码语言:txt
复制
data = {'text': ['Hello, my email is example@example.com', 'Please contact me at 123-456-7890']}
df = pd.DataFrame(data)
  1. 使用str.extract()函数创建新列:
代码语言:txt
复制
df['email'] = df['text'].str.extract(r'(\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b)')
df['phone'] = df['text'].str.extract(r'(\b\d{3}-\d{3}-\d{4}\b)')

在上述代码中,我们使用正则表达式模式提取电子邮件和电话号码,并将它们分别存储在emailphone列中。

  1. 查看结果:
代码语言:txt
复制
print(df)

输出:

代码语言:txt
复制
                                     text                 email         phone
0  Hello, my email is example@example.com  example@example.com           NaN
1      Please contact me at 123-456-7890                   NaN  123-456-7890

可以看到,新的email列包含提取的电子邮件地址,而phone列包含提取的电话号码。

这种方法适用于任何需要使用正则表达式从文本中提取特定模式的情况,例如提取URL、日期、邮政编码等。

推荐的腾讯云相关产品:无

参考链接:

  • pandas官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.extract.html
  • 正则表达式教程:https://www.runoob.com/regexp/regexp-tutorial.html
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《利用Python进行数据分析·第2版》第7章 数据清洗和准备7.1 处理缺失数据7.2 数据转换7.3 字符串操作7.4 总结

在数据分析和建模的过程中,相当多的时间要用在数据准备上:加载、清理、转换以及重塑。这些工作会占到分析师时间的80%或更多。有时,存储在文件和数据库中的数据的格式不适合某个特定的任务。许多研究者都选择使用通用编程语言(如Python、Perl、R或Java)或UNIX文本处理工具(如sed或awk)对数据格式进行专门处理。幸运的是,pandas和内置的Python标准库提供了一组高级的、灵活的、快速的工具,可以让你轻松地将数据规变为想要的格式。 如果你发现了一种本书或pandas库中没有的数据操作方式,请尽管

09
领券