Python练习1

作者: 清晨起床满满正能量_Go | 来源:发表于2019-01-05 22:24 被阅读3次

    Python练习----循环关系对求person


    #加载person函数包

    import scipy.stats as stats

    #加载pandas

    import pandas as pd      

    #读入表达谱 

    f=open('T_01BLCA_Merge_matrix_gene.csv')

    #用pandas转矩阵

    t1=pd.read_csv(f)

    #读入关系对pair

    pai=open('aaa_result.csv')

    #用pandas转矩阵

    pair=pd.read_csv(pai) 

    #准备输出文件'w'

    file_new=open('BLCA_result_new1.txt','w')  

    #pandas用.iloc对矩阵切片定位[:,:],拿出表达谱的第一列所有基因名存入list

    gene=list(t1.iloc[:,0])

    #定义一个空列表循环赋值

    k=list()

    #为列表加列名

    k.append('name1\tname2\tr-value\tp-value\n') 

    #字符串上list定位用listname.index('') *只返回第一个匹配到的位置

    for i in range(0,len(pair)):

        aa=pair.iloc[i,0]

        bb=pair.iloc[i,1]

        lo1=gene.index(aa)

        lo2=gene.index(bb)

        p1=list(t1.iloc[lo1,])

        p2=list(t1.iloc[lo2,])

        name = p1[0]+'\t'+p2[0]           #定义name 字符串连接用+'\t'+

        del p1[0]

        del p2[0]

        resu=stats.pearsonr(p1,p2)       #scipy.stats.personr(p1,p2)

        context = name+'\t'+str(resu[0])+'\t'+str(resu[1])+'\n'  #用字符串把结果拼接成一个变量方便写出txt文件

        k.append(context)

        print(i)

    file_new.writelines(k)   #写出txt文件,文件.writelines(str)

    file_new.close()

    f.close()

    pai.close()

    相关文章

      网友评论

        本文标题:Python练习1

        本文链接:https://www.haomeiwen.com/subject/rogqkqtx.html