2016-12-05 8 views
1

私は 'groupID'列にグループ化したpandasデータフレームを持っています。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で最大と列residualの最小値からすべてのインデックスを検索し、locによって選択が必要だと思う:

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

仕事をしてくれたおかげで、。 'loc'について知らなかった – marqram

関連する問題