不用调包也能便捷地划分数据集,用随机抽样sample()函数两行代码可以轻松搞定。
#划分训练集
train_data = data.sample(frac = 0.8, random_state = 0)
#测试集
test_data = data.drop(train_data.index)
代码讲解:
frac 设置抽样的比例,这里的意思是抽取80%的数据作为训练集;
random_state 是随机种子,可以随便写一个数字,起到了每次划分数据集都是按一样的规则的作用,这样每次运行随机函数的时候才能复现同样的结果;
训练集用随机抽样的函数划分好之后,测试集剔除掉训练集里的数据就可以了,剔除用drop()函数;
drop()函数里面填要剔除的内容,这里把要剔除的数据集的行索引填上去,也就是数据集train_data的行索引index;
运行结果:
drop()详细的语法如下:
可以发现删除行是index,删除列是columns
DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
把“index=”写上也是可以的:
#去掉了'index='相当于简写,把它加上去也是可以运行的
test_data = data.drop(index=train_data.index)