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

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 16: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月18日
  • 已采纳回答 1月10日
  • 创建了问题 1月7日

悬赏问题

  • ¥15 chipyard环境搭建问题
  • ¥20 matlab可以把多个二维图合成为三维瀑布图吗
  • ¥15 EEPROM,软件i2c
  • ¥500 求解读该段JS代码,需要知道是用干什么的
  • ¥20 qt4代码实现二进制文件读取显示,以及显示的内容进行搜索
  • ¥15 Labview获取LK-G3001数据
  • ¥15 我知道什么是混合树,但是怎么写代码啊
  • ¥50 开发板linux系统安装dpkg,apt函数库 有偿
  • ¥15 浏览器时间循环 交互事件和延时事件的 优先级与执行问题
  • ¥15 GD模块安装出错,libgd无法正常安装