phenotype 文件合并

  1. 有两个不同格式的phenotype 合并, MRI_ID 对应 IID的后五位数字
  2. 样本大小不一样(一个580,一个470)
  3. 样本顺序也不一样


    phenotype 文件合并_第1张图片
    image.png

    phenotype 文件合并_第2张图片
    image.png
import pandas as pd

# 读取 txt 文件
file1 = pd.read_table("phone.txt",sep='\t',header=0,na_values='.')
# 读取excel 文件,设置index
file2 = pd.read_table("phenotype.txt",sep='\t',header=0,na_values='.',index_col='MRI_ID')

# 把1303MR00001 读取 00001 作为index
MRI_ID=[]
for i in file1['IID']:
    MRI_ID.append(int(i[6:11]))
file1['MRI_ID']=MRI_ID

# file2 有580 人,file1 有475 人, 所以筛选
file3 = file2.loc[MRI_ID]

# 以MRI_ID 为index 拼接
results=pd.merge(file1,file3,how='left',on='MRI_ID')
# 去掉MRI_ID 这一列
results=results.drop('MRI_ID', axis=1)
results.to_csv('results.txt',sep='\t',index=False)
phenotype 文件合并_第3张图片
image.png

你可能感兴趣的:(phenotype 文件合并)