Skip to main content
 首页 » 编程设计

python之在整个数据框中分离一个棘手的字符串

2025年05月04日36lonelyxmas

0    NC_000001.10:g.955563G>C 
1    NC_000001.10:g.955597G>T 
2    NC_000001.10:g.955619G>C 
3    NC_000001.10:g.957640C>T 
4    NC_000001.10:g.976059C>T 
5    NC_000003.11:g.37090470C>T 
6    NC_000012.11:g.133256600G>A 
7    NC_012920.1:m.15923A>G 

我在数据集中有一列与上图类似。以第一行为例,我想留下的信息是一列包含 955563,一列包含 G>C。我尝试了一些我在这里找到的正则表达式,但还没有找到一个可以解决问题的正则表达式。

请您参考如下方法:

以下适用于您的示例:

df[0].str.extract(':\w\.(\d+)(.+)') 
#           0    1 
#0     955563  G>C 
#1     955597  G>T 
#2     955619  G>C 
#3     957640  C>T 
#4     976059  C>T 
#5   37090470  C>T 
#6  133256600  G>A 
#7      15923  A>G 

如果最后一个“列”始终具有 A>A 结构,其中 A 是单个字母,那么您可以更具体地使用:

df[0].str.extract(':\w\.(\d+)(\w>\w)')