我有一个如下所示的数据帧:
Col1 Col2 Col3 Value
A 1 a 1
A 1 b 1.4
A 2 a 1.2
A 2 b 0
B 1 a 1.2
B 1 b 0.5
B 2 a 1
B 2 b 1.9
我希望选择数据帧中的行,这样,如果我按Col1和Col2分组,然后按Col3的平均值分组,我将保留Col2值对应于分组数据帧最小值的行。如果我手动编写,在这种情况下,它将是
df[((df.Col1==A)& (df.Col2==2)|((df.Col1==B)&(df.Col2==1))
但感觉应该有一种方法可以直接做到这一点,并处理更复杂的情况(Col1、Col2等中更独特的值)。感谢您的帮助
您可以将要分组的列设置为索引,并使用
idxmin
:输出:
相关问题 更多 >
编程相关推荐