2016-12-05 154 views
1

我有一个熊猫数据框,我在列'groupID'上分组。pandas groupby的最小和最大行由

gb = df.groupby('groupID') 

每一行都有一个x和y坐标以及一个残差(距离行x = y的距离)。现在我想找到残差最大和最小的组中的2个点(x,y)之间的梯度。我知道如何使用gb ['residual'] .min()和max(),但是这并没有给我行。

我该如何计算?

df[gb ['residual'].idxmin()] 

回答

1

我想你需要通过DataFrameGroupBy.idxmaxDataFrameGroupBy.idxmin找到max和residual列的最小值各项指标,然后通过loc选择:

df1 = df.loc[df.groupby('groupID').residual.idxmax()] 
df2 = df.loc[df.groupby('groupID').residual.idxmin()] 
+0

谢谢,做了工作。不知道'loc' – marqram