extract()
是 Pandas 中字符串处理功能的一部分,用于从字符串中提取匹配的子字符串。
以下是 extract()
方法的一般用法:
Series.str.extract(pat, flags=0, expand=True)
Series
:表示要操作的 Series 对象,通常是 DataFrame 中的某一列或单独的 Series。pat
:表示正则表达式模式或命名分组的模式。用于指定要提取的子字符串的模式。flags
:可选参数,用于指定正则表达式的标志。例如,re.IGNORECASE
表示忽略大小写。expand
:可选参数,默认为 True。表示是否将提取的结果展开为 DataFrame。如果为 True,则返回 DataFrame;如果为 False,则返回 Series。
extract()
方法会根据指定的模式在每个字符串中查找匹配的子字符串,并将其提取出来。提取的结果可以是单个字符串或多个字符串(如果有多个命名分组)。
import pandas as pd
data = {'Name': ['Smith, John Mr.', 'Johnson, Mary Mrs.', 'Doe, Jane Miss.']}
df = pd.DataFrame(data)
# 使用正则表达式提取称号
titles = df['Name'].str.extract('([A-Za-z]+)\.', expand=False)
print(titles)
输出结果:
0 Mr
1 Mrs
2 Miss
Name: Name, dtype: object