如何使用Pandas提取字符串最后括号内的内容?
提取Pandas DataFrame字符串中最后括号内的内容
可以用Pandas的str.extract()方法结合正则表达式实现,精准提取每个字符串末尾括号里的内容,同时自动忽略NaN值。
实现代码
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({ "temp_design": ['Are Premium Design tree (LKL#)', 'THE Premium Design tree (TKL+)', 'THZPremium Design tree (TKL+)', 'THG THEM Entry tree temporary align (MKP#)', pd.NA, 'THZPremium Design tree (CHU#)', 'THZPremium Design tree (ZHU2+)', 'TRUE PREMIUM TEMPORARY DESIGN (ZHU+)', 'BASIC TEMPORARY DESIGN (ZHU+)'] }) # 提取最后括号内的内容,生成新列 df["output_col"] = df["temp_design"].str.extract(r'\(([^)]+)\)$', expand=False) # 查看结果(过滤NaN后) print(df["output_col"].dropna().tolist())
输出结果
["LKL#","TKL+","TKL+","MKP#","CHU#","ZHU2+","ZHU+","ZHU+"]
正则表达式说明
\(:匹配左括号(转义是因为括号在正则中属于特殊字符)([^)]+):捕获组,匹配除右括号外的所有字符,确保只提取括号内的目标内容\):匹配右括号$:锚定到字符串末尾,保证提取的是最后一个括号里的内容
原数据中的NaN值会被保留为NaN,你可以根据需求用dropna()或fillna()做进一步处理。
内容的提问来源于stack exchange,提问作者ar_mm18
相关产品推荐
相关产品推荐

