python - 如何比较2列值并获取python中匹配对的计数
问题描述
这是 DataFrame 的标头
user_id timestamp group landing_page converted
0 851104 2017-01-21 22:11:48.556739 control old_page 0
1 804228 2017-01-12 08:01:45.159739 control old_page 0
2 661590 2017-01-11 16:55:06.154213 treatment new_page 0
3 853541 2017-01-08 18:28:03.143765 treatment new_page 0
4 864975 2017-01-21 01:52:26.210827 control old_page 1
我的问题是“new_page 和治疗不匹配的次数是多少?我使用了以下内容:
df[(df["group"]!= "treatment") & (df["landing_page"]=="new_page")]
df[(df["group"]== "treatment") & (df["landing_page"]!="new_page")]
但它分别计算它们有没有更好的方法呢?或者如何获得不匹配对的数量?
解决方案
怎么样:
df.groupby(['group','landing_page'])['user_id'].count()
这会给你:
group landing_page
control old_page 3
treatment new_page 2
如果你直接想要这个号码,你可以这样做:
pd.DataFrame(df.groupby(['group','landing_page'])['user_id'].count()).sum()
打印:
user_id 5
推荐阅读
- node.js - react 和 react-dom 应该是 devDependecies 吗?
- wordpress - 如果数量超过产品库存,Woocommerce 如何添加消息
- ios - 带有完成处理程序输出的 PassthroughSubject?
- python - Python/Wand/Imagemagick:添加标题
- java - Java单元测试Java NIO Files库?
- reactjs - React 和 Rails:自定义属性被忽略:不限于顶级 :root 元素
- mysql - Nodejs mysql驱动程序拒绝使用正确的凭据进行访问
- dart - dart 类型的限制
- android - 位图在某些手机上无法正确调整大小
- javascript - 无法读取未定义的属性(读取“删除”)