2016-12-05 152 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