如何从DataFrame染色体信息列中提取Chr编号并生成新列
Pandas 提取染色体编号解决方案
核心逻辑是从原染色体信息列中提取数字部分,生成所需的Chr编号列,使用pandas内置的字符串正则提取方法即可快速实现:
- 若仅需要纯数字的染色体编号(原列名假设为
chrom_info,请替换为你的实际列名):
# 先转字符串格式再提取连续数字,最后转为整数类型 df['chr_num'] = df['chrom_info'].astype(str).str.extract(r'(\d+)').astype(int)
- 若需要带
chr前缀的标准染色体编号格式:
df['chr_id'] = 'chr' + df['chrom_info'].astype(str).str.extract(r'(\d+)')
如果你需要同时兼容X/Y等性染色体的提取,可调整正则规则为
r'(chr[\dXY]+)',直接匹配完整的chr+编号片段即可。
如果你的原染色体信息列本身就是纯数字格式,可直接简化操作:df['chr_id'] = 'chr' + df['chrom_info'].astype(str)
内容的提问来源于stack exchange,提问作者Mahan
相关产品推荐
相关产品推荐

