pos_sample_df是一个drug和ATC编码之间是否有associations的邻接矩阵,我需要根据这个矩阵来实现正负样本的构造。即:邻接矩阵中drug和ATC有边则用来构造正样本,无边用来构造负样本。其中有2000种drug,3000个ATC,drug和ATC的特征均为500x1,邻接矩阵中的1为正样本标签,0为负样本标签。拼接后的一个样本为1001x1的列向量。
import numpy as np
import pandas as pd
import os
data_dir='C:/Users/Administrator/Desktop/temp1113/zhou/data/'
save_dir='C:/Users/Administrator/Desktop/temp1113/zhou/result/'
def concat_lab_vec(lab_df,vec_df,pos_sample_df):
from numpy import hstack,vstack,array
print('lab_df:',lab_df.shape)
print('vec_df:',vec_df.shape)
#如何拼接?vec_df的第i列与lab_df第j列,按照pos_sample_df中前两列沿着竖直方向拼接
Total_pinjie=[]
vect_columns=vec_df.columns.tolist()
lab_columns=lab_df.columns.tolist()
pos_columns=pos_sample.columns.tolist()
for i in range(len(pos_sample)):
if pos_sample[pos_columns[2]][i]==1:
drug_index=pos_sample[pos_columns[0]][i]-1 #因为P