Python练习2

2019-01-05  本文已影响0人  清晨起床满满正能量_Go

Python练习----通过匹配提取符合要求的DataFrame的子集


import pandas as pd

import re

#enumerate是将可迭代的对象与对应的索引一起进行迭代的函数f返回多个匹配位置

f1=open('SE_TF_LNC.csv')

lable=pd.read_csv(f1,header=0)

f2=open('TF_LNC_per.csv')

pair=pd.read_csv(f2,header=0)

df = pd.DataFrame()

for x in range(0,len(lable)):

    pe=pd.DataFrame(lable.iloc[x,:])

    pe=pe.T

    tf=lable.iloc[x,1]

    tf1=pair.iloc[:,0]

    lo1=[i for i,v in enumerate(tf1) if v==tf]                  

    k=list()

    for j in range(0,len(lo1)):

        l1=list(pair.iloc[lo1[j],:])

        k.append(l1)

    ma=pd.DataFrame(k)

    lnc=lable.iloc[x,2]   

    lnc1=ma.iloc[:,1]

    lo2=[i for i,v in enumerate(lnc1) if v==lnc]

    for y in range(0,len(lo2)):

        l2=pd.DataFrame(ma.iloc[lo2[y],:])

        l3=l2.T

        l4=l3.reset_index(drop = True)

    if len(lo2)>0:

        df=df.append(l4)

#用df[(df[x]>2)&(df[y]<3)]提取符合条件数据框子集

result=df[(df[2]>2)&(df[3]>1)]                                                     


#DataFrame写出csv格式文件用 df.to_csv("",index=False)

result.to_csv("E:/王晴工作11.3/合并Step1/BLCA膀胱癌/BLCA_last_lable.csv",index=False)

f1.close()

f2.close()

上一篇 下一篇

猜你喜欢

热点阅读