Python:DataFrame指定列字符串裁剪,提取括号内内容的实现方法
解决方案
rstrip、lstrip方法是按传入的字符集逐个匹配首尾字符删除,无法实现固定模式的内容提取,因此不适合当前场景。
- 方法1:正则提取(最稳定,容错率高)
使用pandas的str.extract方法直接匹配方括号内的内容即可,示例代码如下:
import pandas as pd # 示例DataFrame,可替换为你自己的DataFrame df = pd.DataFrame({'raw_col': ['Tim [Boy]', 'Gina [Girl]']}) # 提取方括号内内容到新列 df['target_col'] = df['raw_col'].str.extract(r'\[(.*?)\]')
执行后target_col的输出结果就是你需要的['Boy','Girl']。
- 方法2:字符串拆分(仅适合内容格式完全固定的场景)
如果确认所有值的结构都是「前缀内容 + [目标内容]」,没有嵌套括号等特殊情况,也可以通过拆分+剔除多余字符实现:
df['target_col'] = df['raw_col'].str.split('[').str[1].str.rstrip(']')
内容的提问来源于stack exchange,提问作者KuvYogTris
相关产品推荐
相关产品推荐

