首页 > 解决方案 > Python - 在 DataFrame 中搜索模式,后跟多个可能的字符串

问题描述

我有一个数据框,其中一列有很长的分号分隔字符串列表:

基因ID ENSGACG00000019161;基因版本1;成绩单_id ENSGACT00000025386; 成绩单版本 1;外显子编号 9;基因名称 slc7a8a;基因源合奏;基因_生物型蛋白质_编码;成绩单名称 slc7a8a-203;转录源合奏;转录生物型蛋白质编码;exon_id ENSGACE00000225405;外显子版本 1;

我想以某种方式逐行提取并仅拉出gene_name之后和分号之前的字符串。所以在这种情况下slc7a8a。如果这是一个简单的问题或重复的问题,我很抱歉。我试图浏览多种资源,但甚至不知道描述我想做的最简洁的方式很难找到任何有用的东西。

谢谢

标签: pythonpandas

解决方案


您可以使用将正则表达式模式作为输入参数的pandas str.extract :

df['col_name'].str.extract('gene_name(.*?);')

推荐阅读