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

2024-09-29 09:38:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要评估A/B测试的结果,但在检查数据时,我注意到两个对照组中都有用户,我需要删除他们,以免影响测试。我的数据如下所示:

    transactionId   visitorId   date       revenue  group
0   906125958          0        2019-08-16  10.8     B
1   1832336629         1        2019-08-04  25.9     B
2   3698129301         2        2019-08-01  165.7    B
3   4214855558         2        2019-08-07  30.5     A
4   797272108          3        2019-08-23  100.4    A

我需要做的是删除A组和B组中的每个用户,而保留其余用户不变。因此,从示例数据中,我需要以下输出:

    transactionId   visitorId   date       revenue  group
0   906125958          0        2019-08-16  10.8     B
1   1832336629         1        2019-08-04  25.9     B
4   797272108          3        2019-08-23  100.4    A

我尝试了各种方法,但我似乎无法找到答案,在任何地方我都找不到答案。我真的非常感谢这里的帮助, 提前谢谢


Tags: 数据方法答案用户示例date地方group
1条回答
网友
1楼 · 发布于 2024-09-29 09:38:30

您可以获得仅属于一个组的用户列表,如下所示:

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)]

相关问题 更多 >