python - 如何使用 Pandas(Python)中的条件按三列分组?
问题描述
嗨所以我目前正在使用具有以下列的数据框:
user_id(有30多种重复用户id):1,22,33,3,1,222,1,3等
Column1(有两个类别):A,B,A,B等
Column2(有两个类别):BB,CC,BB,CC等..
日期:2010-01-09,2010-01-03 等等..
现在我要做的是,当 column1=A,Column2=BB 用于特定用户 id 时,我需要获取最小日期(比如说 1) 也对所有组合做同样的事情,比如 if Column1=B,Column 2= BB等
PS:这是使用 Python(Pandas,Numpy)。感谢并期待您的帮助。
解决方案
您要做的是 group by Column2
,Column1
并id
获取日期列的最小值:
mins = df.groupby(['Column2', 'Column1','id']).Date.min()
如果您只想获取一个特定用户 ID 的信息,您可以预先过滤 df
df = df[df.id==1]
推荐阅读
- java - 嵌套 for 循环优化
- bash - 如果 line 和下一行以数字开头,则将文本附加到匹配的行
- r - 带有线型的 R ggplot2 图例
- r - 如何在 R 中使用 gsub 对字符串搜索使用两个条件?
- android - 如果从链接启动,Xamarin Forms WithParentActivityOrWindow 不起作用
- javascript - react redux 应用程序中的空闲超时
- sql - 如何将特定列作为行
- javascript - 有没有一种优雅的方法来检查至少一个元素是否具有某个类?
- google-apps-script - 如何将 Logger.log 内容发布到电子表格单元格中?
- javascript - CSS - 为什么我的 JS 脚本占满高度?