Lin_Cainiaoyige 2022-01-07 07:35 采纳率: 71.4%
浏览 123
已结题

Python dataframe 正则表达式应用

我有一个Dataframe

df = pd.DataFrame({'content':['A Name:[MINSDDL], Code:[KRKN]','A Name:[LAVRION]','C:[ANGELA]','C:[KUMASI]']})

img

我想要用正则表达式的方法 提取Code:[] ; A Name:[] ; C:[] 里面的值
结果像这样子

img


请各位帮忙

  • 写回答

1条回答 默认 最新

  • chuifengde 2022-01-07 08:40
    关注
    import pandas as pd
    import re 
    
    def fun(se):
        r1 = re.findall(r'Code:\[(.*?)\]', se['content'])
        if r1 == []:
            r1 = ['']
        r2 = re.findall(r'A Name:\[(.*?)\]', se['content'])
        if r2 == []:
            r2 = ['']
        r3 = re.findall(r'C:\[(.*?)\]', se['content'])
        if r3 == []:
            r3 = ['']
        return r1[0], r2[0], r3[0]
    df = pd.DataFrame({'content':['A Name:[MINSDDL], Code:[KRKN]','A Name:[LAVRION]','C:[ANGELA]','C:[KUMASI]']})
    print(df)
    
    df[['B', 'C', 'D']] = df.apply(fun, axis = 1, result_type='expand')
    print(df)
    
    
    '''--result
                             content
    0  A Name:[MINSDDL], Code:[KRKN]
    1               A Name:[LAVRION]
    2                     C:[ANGELA]
    3                     C:[KUMASI]
                             content     B        C       D
    0  A Name:[MINSDDL], Code:[KRKN]  KRKN  MINSDDL        
    1               A Name:[LAVRION]        LAVRION        
    2                     C:[ANGELA]                 ANGELA
    3                     C:[KUMASI]                 KUMASI
    '''
    
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月10日
  • 创建了问题 1月7日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部