Python练习1

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()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容