Python如何用字典完成匹配任务
更新时间:2024年09月13日 09:34:18 作者:小猪崽子~
在生物信息学领域,经常需要根据基因名称匹配其对应的编号,本文介绍了一种通过字典进行基因名称与编号匹配的方法,首先定义一个空列表存储对应编号,对于字典中不存在的基因名称,其编号默认为0
1. 问题描述
如下左图为编号与gene名称的对应关系(此处仅显示前10条),已存为字典(map_gene)
右图为我们需要去匹配的gene名称,如何根据基因名称给出对应的编号?


2. 解决方案
2.1 定义变量
首先,我们定义一个空的list来存储gene对应的编号,且因部分gene在字典map_gene中不存在,故需记录可匹配到的个数。
# 定义变量 m = [] # 存储对应编号的list t = 0 # 记录map_gene中可以匹配到的gene个数 n = 0 # 记录map_gene中不存在的gene个数
2.2 匹配gene对应的编号
# 遍历gene列表,若在map_gene中可匹配到,则保存对应编号;否则返回0.
for i in range(len(gene)):
if gene[i] in map_gene.keys():
m.append(map_gene[gene[i]])
t = t+1
else:
m.append(0)
n = n+12.3 将匹配好的结果导出存为csv格式
# 导出到csv
data = np.vstack(gene,m)
df = pd.DataFrame(data)
df.to_csv('gene_match.csv')csv文档截图如下,仅选取0-20gene展示结果,其中第18个gene rutr在gene_map中无匹配,故编号为0.


总结
匹配成功,撒花完结。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Jmeter如何使用BeanShell取样器调用Python脚本
这篇文章主要介绍了Jmeter使用BeanShell取样器调用Python脚本,文章围绕Jmeter调用Python脚本的相关详情展开标题内容,需要的小伙伴可以参考一下2022-03-03
Python numpy实现数组合并实例(vstack,hstack)
这篇文章主要介绍了Python numpy实现数组合并(官网实例),涉及vstack,hstack的简单用法,具有一定借鉴价值,需要的朋友可以参考下2018-01-01


最新评论