我需要评估 A/B 测试的结果,但在检查数据时,我注意到两个对照组都有用户,我需要删除它们以免影响测试。我的数据看起来像这样: transactionId visitorId date revenue group0 906125958 0 2019-08-16 10.8 B1 1832336629 1 2019-08-04 25.9 B2 3698129301 2 2019-08-01 165.7 B3 4214855558 2 2019-08-07 30.5 A4 797272108 3 2019-08-23 100.4 A我需要做的是删除 A 组和 B 组中的每个用户,同时保留其余用户完好无损。因此,从示例数据中我需要以下输出: transactionId visitorId date revenue group0 906125958 0 2019-08-16 10.8 B1 1832336629 1 2019-08-04 25.9 B4 797272108 3 2019-08-23 100.4 A我尝试以各种方式做到这一点,但我似乎无法弄清楚,并且在任何地方都找不到答案,我真的很感激这里的一些帮助,提前致谢
1 回答

手掌心
TA贡献1942条经验 获得超3个赞
您可以获得仅属于一个组的用户列表,如下所示:
group_counts = df.groupby('visitorId').agg({'group': 'nunique'}) ##list of users with number of groups
to_include = group_counts[group_counts['group'] == 1] ##filter for just users in 1 group
然后根据该列表中的访问者过滤原始数据:
df = df[df['visitorId'].isin(to_include.index)]
添加回答
举报
0/150
提交
取消