如何使用Pandas修改指定列的特定单元格值(添加基因名后缀)
使用Pandas修改表格指定列的特定值
这里有两种简单直接的方法帮你实现需求,咱们一步步来操作:
1. 先加载数据
首先得把你的原始数据加载成Pandas的DataFrame。如果数据是在文本文件里,你可以用pd.read_csv()指定文件路径;如果是像你给出的这种文本内容,我们可以用StringIO来模拟加载:
import pandas as pd from io import StringIO # 你的原始数据文本 raw_data = """gene scaf GC other gene1 3456 78 other1 gene2 7898 56 other 2 gene3 5667 23 other 3""" # 加载为DataFrame,用正则匹配任意空白符作为分隔符(适配列间的多个空格) df = pd.read_csv(StringIO(raw_data), sep=r'\s+')
2. 修改目标值
方法一:用loc精准定位修改
这种方式非常直观,直接定位到gene列等于gene1的行,然后赋值新值:
# 定位条件:gene列的值为'gene1',修改该位置的gene值 df.loc[df['gene'] == 'gene1', 'gene'] = 'gene1_number1'
方法二:用replace针对列替换
如果你需要批量替换多个值,这个方法会更灵活;当然替换单个值也完全适用:
# 仅对gene列执行替换操作 df['gene'] = df['gene'].replace('gene1', 'gene1_number1')
3. 查看结果
执行完上面任意一种方法后,打印DataFrame就能看到你想要的结果了:
print(df)
输出结果就是:
gene scaf GC other 0 gene1_number1 3456 78 other1 1 gene2 7898 56 other 2 2 gene3 5667 23 other 3
内容的提问来源于stack exchange,提问作者Grendel
相关产品推荐
相关产品推荐

