我想将我的数据集随机拆分为训练和测试如下子集:
x in session_id page_id
0 0.0 1.0 trn-04a23351-283d paul
1 -1.0 2.0 trn-04a23351-283d paul2
2 -1.0 3.0 trn-04a23351-283d paul3
3 -1.0 4.0 trn-04a23351-283d paul4
4 -1.0 1.0 blz-412313we-333 paul
5 -1.0 2.0 blz-412313we-333 paul
27 0.0 1.0 adasdfs sarah
28 -1.0 2.0 adasdfs sarah
29 0.0 3.0 adasdfs sarah
基于session_id列。我想将会话随机分为两个数据集。然后,进行这些会话的所有交互。天真的方法是:
df['is_train'] = df.groupby('session_id').session_id.transform(lambda x: np.random.ranf() > ratio)
但是使用python lambda会降低性能。
答案 0 :(得分:1)