Панды случайным образом разделяют / выбирают набор данных на основе идентификатора сеанса - PullRequest
1 голос
/ 22 октября 2019

Я хочу случайным образом разделить мой набор данных на подмножества поездов и тестов, которые выглядят следующим образом:

        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 слишком сильно снижает производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...