You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R语言从Excel单元格提取突变位置数字的方法

提取数据框中突变记录的位置数字

假设你的数据框df里有一列(比如命名为mutations)存储着chr10:63661472 G>C这类突变字符串,以下是两种高效提取冒号后位置数字的方法:

方法1:正则表达式提取(推荐)

利用pandas的str.extract配合正则,直接捕获冒号后的连续数字:

import pandas as pd

# 构造示例数据框
df = pd.DataFrame({
    'mutations': ['chr10:63661472 G>C', 'chr14:105246551 C>T', 'chr16:2225614 G>T']
})

# 提取位置数字到新列
df['position'] = df['mutations'].str.extract(r':(\d+)', expand=False)

# 查看结果
print(df['position'])

正则r':(\d+)'的作用是匹配冒号:,并捕获其后的所有数字字符,str.extract会自动提取捕获组的内容,得到纯数字结果。

方法2:字符串拆分法

通过两次拆分字符串获取目标数字:

df['position'] = df['mutations'].str.split(':').str[1].str.split().str[0]
print(df['position'])
  • 第一次按:拆分,取拆分后的第二部分(即63661472 G>C这类内容)
  • 第二次按空格拆分,取拆分后的第一部分,就是需要的位置数字

如果是处理单个字符串,也可以用类似逻辑:

# 单个字符串处理示例
s = 'chr10:63661472 G>C'
# 拆分法
pos = s.split(':')[1].split()[0]
# 正则法
import re
pos = re.search(r':(\d+)', s).group(1)

内容的提问来源于stack exchange,提问作者Biotechnologist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 08:23:18