0
筛选我有数据帧熊猫:写状况数据帧
member_id,event_time,event_path,event_duration
19440,"2016-08-09 08:26:48",accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier,0
19440,"2016-08-09 08:27:04",ebesucher.ru/surfbar/Ochotona,25
19440,"2016-08-09 08:27:53",accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier,0
19440,"2016-08-09 08:27:53",accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier,2
19441,"2016-08-09 08:27:55",accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#password,1
19441,"2016-08-09 08:27:58",neobux.com/m/l/,0
19441,"2016-08-09 08:27:59",neobux.com/m/l/,0
19441,"2016-08-09 08:28:01",http://new.enjoysurvey.com/ru/survey/649/index/m_e48f6e46bf0d222e2be70bc9067730c423423,11
19441,"2016-08-09 08:28:12",echo.msk.ru ,1
19441,"2016-08-09 08:28:15",neobux.com/m/l/?vl=A206591715C607425417A51CDE023499,2
我需要与visiting
创建新列,如果new.enjoysurvey.com/ru/survey/649/index/m_e48f6e46bf0d222e2be70bc9067730c4
包含event_path
和未来event_path
包含['echo.msk.ru', 'edimdoma.ru', 'glaz.tv', 'vesti.ru']
,比visiting == 1
,否则 - 2
。 如果完成对member_id
,给member_id来访= 1个 欲望输出
member_id,event_time,event_path,event_duration, visiting
19440,"2016-08-09 08:26:48",accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier,0,2
19440,"2016-08-09 08:27:04",n,25,2
19440,"2016-08-09 08:27:53",accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier,0,2
19440,"2016-08-09 08:27:53",accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier,2,2
19441,"2016-08-09 08:27:55",accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#password,1,1
19441,"2016-08-09 08:27:58",neobux.com/m/l/,0,1
19441,"2016-08-09 08:27:59",neobux.com/m/l/,0,1
19441,"2016-08-09 08:28:01",http://new.enjoysurvey.com/ru/survey/649/index/m_e48f6e46bf0d222e2be70bc9067730c423423,11,1
19441,"2016-08-09 08:28:12",echo.msk.ru ,1,1
19441,"2016-08-09 08:28:15",neobux.com/m/l/?vl=A206591715C607425417A51CDE023499,2,1
我尝试
df['visiting'] = df.groupby("member_id").event_path.transform(lambda g: (g.isin(["new.enjoysurvey.com/ru/survey/649/index/m_e48f6e46bf0d222e2be70bc9067730c4", 'echo.msk.ru', 'edimdoma.ru', 'glaz.tv', 'vesti.ru']).sum() > 1).astype(int)).replace(0, 2)
但它确定数量event_path
只有大小,但我需要考虑的顺序。但不知道如何做到这一点。
Next'event_path'?你的意思是下一排?此外,这是没有意义的:*如果它完成到member_id,给予member_id访问= 1 *。 – Parfait
@Parfait我的意思是如果在下一个字符串中有'event_path' –