码迷,mamicode.com
首页 > 其他好文 > 详细

数据清洗一:

时间:2019-03-28 16:50:43      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:14.   pytho   技术   append   sheet   exp   inf   amp   col   

 

 原数据格式:

  技术图片

转换的目标格式:

技术图片

 

脚本目的:转换数据的格式,属于数据清洗部分。
脚本逻辑,将文件读取后,将第一列设置为key,第三列设为列表组成的value,建立dict;然后循环dict来统计items两两之间重复的id以及其数目。
#!/usr/bin/python
import sys
import pandas as pd
f1=sys.argv[1]
f2=sys.argv[2]
t1 = pd.read_excel(f1)
t1["geneID"]=t1["geneID"].str.split("/",expand=False)
t1.head()
t2 = t1.set_index("Description")
t3 = t2["geneID"].to_dict()
t4=dict()
listid=[]
for i in t3:
    for j in t3:
        if i==j:
            continue
        elif [i,j] in listid:
            continue
        else:
            listid.append([i,j])
            key=str(i)+"+"+str(j)
            value=list(set(t3[i]) & set(t3[j]))
            t4[key]=value
out=open(f2,w)
print ("Pathway1","\t","Pathway2","\t","Count","\t","id",file=out)
for i in t4.keys():
    count=len(t4[i])
    if count >0 :
        c=";".join(t4[i])
        p1=i.split("+")[0]
        p2=i.split("+")[1]
        print (p1,"\t",p2,"\t",count,"\t",c,file=out)
out.close()

 

 

利用pandas包对excel表中的内容进行读取:

  pd.read_excel() 主要函数解读: io表格具体路径,sheetname 读取表格中的哪个Sheet,可以是整数或Sheet名称,converters 指定将读取内容转换成哪种格式 eg: converters = {0:str}

数据清洗一:

标签:14.   pytho   技术   append   sheet   exp   inf   amp   col   

原文地址:https://www.cnblogs.com/yankeqiang/p/10616035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!