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

如何修改Python代码为CSV文件添加DNA翻译所得肽序列新列

原代码问题清单

  • 变量引用错误:读取CSV后赋值给了df变量,但后续代码误用了不存在的csv_data变量
  • CSV读取逻辑错误:输入CSV没有表头,pandas默认会将第一行数据识别为表头,导致数据丢失
  • 仅尝试处理单个序列,没有遍历所有行的DNA序列调用翻译函数
  • 新增列逻辑错误:未正确将翻译结果作为新列写入DataFrame
  • 输出CSV时默认携带索引列,不符合输出要求

修正后的完整代码

import pandas as pd

def translate(seq):
    table = {
        'ATA':'I', 'ATC':'I', 'ATT':'I', 'ATG':'M',
        'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACT':'T',
        'AAC':'N', 'AAT':'N', 'AAA':'K', 'AAG':'K',
        'AGC':'S', 'AGT':'S', 'AGA':'R', 'AGG':'R',
        'CTA':'L', 'CTC':'L', 'CTG':'L', 'CTT':'L',
        'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCT':'P',
        'CAC':'H', 'CAT':'H', 'CAA':'Q', 'CAG':'Q',
        'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGT':'R',
        'GTA':'V', 'GTC':'V', 'GTG':'V', 'GTT':'V',
        'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCT':'A',
        'GAC':'D', 'GAT':'D', 'GAA':'E', 'GAG':'E',
        'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGT':'G',
        'TCA':'S', 'TCC':'S', 'TCG':'S', 'TCT':'S',
        'TTC':'F', 'TTT':'F', 'TTA':'L', 'TTG':'L',
        'TAC':'Y', 'TAT':'Y', 'TAA':'*', 'TAG':'*',
        'TGC':'C', 'TGT':'C', 'TGA':'*', 'TGG':'W',
    }
    protein =""
    if len(seq)%3 == 0:
        for i in range(0, len(seq), 3):
            codon = seq[i:i + 3]
            protein+= table[codon]
    return protein

# 读取无表头的CSV文件,列名自动按0、1、2分配
df = pd.read_csv('infile.csv', header=None)
# 对第二列(索引为1)的所有DNA序列调用翻译函数,结果存入第三列(索引为2)
df[2] = df[1].apply(translate)
# 输出CSV,不保留索引和表头
df.to_csv("outfile.csv", index=False, header=False)

运行后生成的outfile.csv就和期望输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:54:03