正则表达式(Regular Expression)是一种强大的文本处理工具,它使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在Python中,re
模块提供了正则表达式的操作方法。
Pandas提供了str
访问器,可以与正则表达式结合使用,对DataFrame的列进行操作。
假设我们有一个包含电话号码的DataFrame列,但其中混杂了其他字符,我们想要提取并清理这些电话号码。
import pandas as pd
import re
# 创建示例DataFrame
data = {'phone': ['(123) 456-7890', '123.456.7890 ext. 123', 'invalid data']}
df = pd.DataFrame(data)
# 使用正则表达式清理电话号码
pattern = r'[\(\)\.\-\s\*ext]+'
df['cleaned_phone'] = df['phone'].astype(str).apply(lambda x: re.sub(pattern, '', x))
print(df)
r'[\(\)\.\-\s\*ext]+'
:这是一个正则表达式模式,用于匹配括号、点、短横线、空格、星号和“ext”等字符。re.sub(pattern, '', x)
:这个函数会找到所有匹配该模式的子串,并用空字符串替换它们。.
匹配任意字符。如果需要匹配这些字符本身,需要进行转义,如\.
。通过结合正则表达式和Pandas的强大功能,可以高效地处理和分析文本数据。
领取专属 10元无门槛券
手把手带您无忧上云