Lin_Cainiaoyige 2022-01-07 15: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 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日

悬赏问题

  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
  • ¥15 Mac(标签-IDE|关键词-File) idea
  • ¥15 潜在扩散模型的Unet特征提取
  • ¥15 iscsi服务无法访问,如何解决?
  • ¥15 感应式传感器制作的感应式讯响器