如何从Pandas列文本中提取「Tipo X」格式的子串?
提取Pandas列中「Tipo #」格式的子串
直接用Pandas的str.extract()方法结合正则表达式就能解决,具体操作如下:
编写匹配规则:使用正则表达式
r'(Tipo\s+[A-Z])'Tipo:匹配固定前缀文本\s+:匹配一个或多个空格(兼容字符串里可能出现的多空格情况)[A-Z]:匹配单个大写字母(如果需要兼容小写,可改为[A-Za-z])- 括号代表捕获组,
str.extract会提取该组内容作为结果
代码示例:
import pandas as pd # 构造示例数据 df = pd.DataFrame({ 'raw_text': [ "PAC_Clinker Tipo I Horno horizontal 3", "PAC_Clinker OTP Tipo V Horno horizontal 4", "PAC_Cemento Qhuna 4 5 Tipo I Despacho" ] }) # 提取目标子串生成新列 df['tipo_info'] = df['raw_text'].str.extract(r'(Tipo\s+[A-Z])') # 查看结果 print(df['tipo_info'])
运行后新列tipo_info会得到预期结果:
0 Tipo I 1 Tipo V 2 Tipo I Name: tipo_info, dtype: object
内容的提问来源于stack exchange,提问作者Felix Wong Plasencia
相关产品推荐
相关产品推荐

