为了账号安全,请及时绑定邮箱和手机立即绑定

如何查看pandas中的1列中的一个值是否有2个匹配项

如何查看pandas中的1列中的一个值是否有2个匹配项

呼啦一阵风 2023-09-05 15:28:21
我需要评估 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)]


查看完整回答
反对 回复 2023-09-05
  • 1 回答
  • 0 关注
  • 58 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信