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


  gene_id ENSGACG00000019161; gene_version 1; transcript_id
  ENSGACT00000025386; transcript_version 1;外显子编号9; gene_name
  slc7a8a; gene_source合奏;基因生物型蛋白质编码
  transcript_name slc7a8a-203; transcript_source合奏;
  transcript_biotype protein_coding; exon_id ENSGACE00000225405;
  exon_version 1;


我想以某种方式逐行删除仅在gene_name之后且在分号之前的字符串。因此,在这种情况下为slc7a8a。很抱歉,这是一个简单的问题还是一个重复的问题。我试图浏览多种资源,但甚至不知道描述我想做的最简洁的方法很难找到有用的东西。

谢谢

最佳答案

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

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

关于python - Python-在DataFrame中搜索模式,后跟多个可能的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55111831/

10-13 09:52