【发布时间】:2017-03-22 07:41:17
【问题描述】:
我刚刚开始了解 pandas,但我无法克服概念上的问题。我的数据框如下:
df=pd.DataFrame({'ANIMAL':[1,1,1,1,1,2,2,2],
'AGE_D' : [3,6,47,377,698,1,9,241],
'AGE_Y' : [1,1,1,2,2,1,1,1]})
我想在 animal 和 age_y 中做一个嵌套组,然后选择子组上的最小值。 所需的输出将是:
ANIMAL AGE_Y AGE_D
1 1 3
1 2 377
2 1 1
我可以在不嵌套在动物中的情况下做到这一点,例如如果我的 df2 = ANIMAL=1 的子集 那么
df2.loc[df2.groupby('AGE_Y')['AGE_D'].idxmin()]
但是我尝试将动物嵌套在 group by 中的所有事情都没有成功。我猜我的操作顺序是错误的...... 我该怎么办?
【问题讨论】:
-
复制:stackoverflow.com/questions/23394476/… 基本上唯一的区别是你想要在多个列上分组
-
看过解决方案后,我可以看出这是多么相似,但除非您知道,否则很难推断出来。我实际上正在查看您发布的主题,但在嵌套分组时遇到了问题。
-
基本上这里要注意的是,您可以在多个列上进行分组,这看起来就像您在这里缺少的步骤
标签: pandas group-by nested grouping min