首页 > 解决方案 > 如何使用 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)。感谢并期待您的帮助。

标签: pythonpython-3.xpandaspandas-groupby

解决方案


您要做的是 group by Column2Column1id获取日期列的最小值:

mins = df.groupby(['Column2', 'Column1','id']).Date.min()

如果您只想获取一个特定用户 ID 的信息,您可以预先过滤 df

df = df[df.id==1] 

推荐阅读