基于主键匹配为数据表新增average raw counts列的实现咨询
数据表主键匹配合并实现方案
以下提供3种常用工具的实现方法,可根据你的使用场景选择:
方法1:Python Pandas实现
- 首先确认两张表的主键列名完全对应你给出的字段,执行以下代码即可:
import pandas as pd # 读取本地数据表,如果是Excel格式就替换为pd.read_excel() df1 = pd.read_csv("第一张表的本地路径.csv") df2 = pd.read_csv("第二张表的本地路径.csv") # 按主键匹配合并 merge_result = df1.merge( df2, left_on="ENSG", # 第一张表的主键列名 right_on="Ensembl gene id", # 第二张表的主键列名 how="left" # 合并规则:默认保留第一张表的所有行,匹配不到的位置留空,可根据需求替换为inner/right/full ) # 可选操作:删除多余的第二张表主键列 merge_result = merge_result.drop(columns=["Ensembl gene id"]) # 导出合并结果 merge_result.to_csv("合并后的结果表.csv", index=False)
方法2:Excel VLOOKUP实现
无需写代码,适合Excel用户:
- 在第一张表的
avg_rep列右侧插入新列,列名设为average raw counts - 新列第一行(对应第一个ENSG的行)输入公式:
=VLOOKUP(B2, 第二张表!A:B, 2, FALSE)- 参数说明:B2是当前行ENSG所在的单元格位置,
第二张表!A:B是第二张表主键和目标值所在的列范围,2表示取范围的第2列数值,FALSE代表精确匹配
- 参数说明:B2是当前行ENSG所在的单元格位置,
- 下拉公式填充所有行即可得到预期结果
方法3:R语言实现
library(dplyr) # 读取数据,Excel格式可替换为read_excel() df1 <- read.csv("第一张表的本地路径.csv") df2 <- read.csv("第二张表的本地路径.csv") # 匹配合并 merge_result <- left_join(df1, df2, by = c("ENSG" = "Ensembl gene id")) # 导出结果 write.csv(merge_result, "合并后的结果表.csv", row.names = F)
内容的提问来源于stack exchange,提问作者crisprheaven22
相关产品推荐
相关产品推荐

