在Python中使用正则表达式重新评估列中的字符串

2024-10-02 14:20:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列值为的数据集:

0      TCGA-A2-A0T2
1      TCGA-A2-A0CM
2      TCGA-BH-A18V
3      TCGA-BH-A18Q
4      TCGA-BH-A0E0

但是,我想将其更改为:

A0T2
A0CM
A18V
A18Q
A0E0

我尝试过以下代码:

df1['Complete TCGA ID'].str.extract('TCAG-(.*)-.*')

但它只返回NA。在这种情况下,我真的不知道如何计算正则表达式。有人能帮忙吗?非常感谢


Tags: 数据代码ida2completedf1bhstr
2条回答

它应该是TCGA,您可以匹配到最后一个,然后在第1组中捕获其余的

TCGA.*-(.*)

Regex demo

或者更精确地匹配示例数据:

^TCGA-[A-Z0-9]+-([A-Z0-9]+)$

Regex demo

你在找什么

df1['new_column'] = df1['Complete TCGA ID'].str.extract(r'-([^-]+)$')

a demo on regex101.com

相关问题 更多 >