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