Python 如何查看表中1列中的一个值是否有2个匹配项
我需要评估A/B测试的结果,但在检查数据时,我注意到两个对照组中都有用户,我需要删除他们,以免影响测试。我的数据如下所示:Python 如何查看表中1列中的一个值是否有2个匹配项,python,pandas,ab-testing,Python,Pandas,Ab Testing,我需要评估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
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
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
我需要做的是删除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
我尝试了各种方法,但我似乎无法找到答案,在任何地方我都找不到答案。我真的非常感谢这里的帮助,
提前感谢您可以获得一组用户的列表,如下所示:
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
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)]
我做了很多次组计数代码,也做了很多不同的to_include,但不知道如何从那里开始。。非常感谢你我还有很多东西要学做一个好爸爸