一、对训练集和测试集进行标记后合并
df = pd.concat([train.assign(is_train = 1),test.assign(is_train = 0)]) #合并train和test,并且用is_train进行标记
这样做的好处是能够将合并后的数据集将训练集和测试集分开来进行标记。
二、利用好这一特征更好的做分析
例如:
train = df['is_train'] == 1##提前进行标记
test = df['is_train'] == 0
获取样本比例:
train_count = len(df[train])
print('训练集样本量是',train_count)
test_count = len(df[test])
print('测试集样本量是',test_count)
print('样本比例为:', train_count/test_count)
获取训练集和测试集中某一变量的唯一值:
print("训练集buyer_admin_id:",len(df[train]['buyer_admin_id'].unique()))
print("测试集buyer_admin_id:",len(df[test]['buyer_admin_id'].unique()))
进行取交集:
set.intersection(set(df[test]['buyer_admin_id'].unique()),set(df[train]['buyer_admin_id'].unique()))