python中两个数据框之间的遍历

1.输入文件1

在这里插入图片描述
文件1:第一列是基因名字,列2:外显子起始位置,列3:外显子终止位置,列4:外显子的序号

2.输入文件2:

在这里插入图片描述
备注:列1:基因id;列2:snp在基因组上的位置

3.输出文件:

在这里插入图片描述

干货:
#判断snp的位置是位于外显子还是内含子
import pandas as pd
list1=[]
with open("44.txt","r") as f1:
    df1=pd.read_table(f1,header=None,index_col=0)

with open("43out-2.txt","r") as f2:
    df2=pd.read_table(f2,header=None,index_col=0)
    for i in range(df2.shape[0]):
        for j in range(df1.shape[0]):
            if df1.index[j]==df2.index[i] and df2.iloc[i,0]>=df1.iloc[j,0] and df2.iloc[i,0]<=df1.iloc[j,1]:
                print(df2.index[i],df2.iloc[i,0]," : exon"+str(df1.iloc[j,2]))
                # b+=1
            elif df1.index[j]==df2.index[i] and df2.iloc[i,0]>=df1.iloc[j,1] and df2.iloc[i,0]<=df1.iloc[j+1,0]:
                print(df2.index[i], df2.iloc[i, 0], " : intron"+str(df1.iloc[j,2]))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值