如何提取DataFrame列首个下划线后的值生成新列,多下划线取中间值
解决方案
你写的正则逻辑本身完全匹配需求,只是之前的代码直接覆盖了原有col1列,修改赋值目标列即可得到你要的新列:
方法1:使用你现有正则直接创建新列
df['type'] = df['col1'].str.extract(r'\w*?_([^_]*)(?:_)?')
方法2:用分割写法,可读性更强
按下划线分割字符串后直接取索引为1的元素,逻辑更直观,也能满足你的规则要求:
df['type'] = df['col1'].str.split('_').str[1]
两种写法运行后都可以得到你期望的type列结果。
内容的提问来源于stack exchange,提问作者Lynn
相关产品推荐
相关产品推荐

