R, Python, DB 備忘録

データベースとか、jupyter(Python)、Rとか色々

グループごとの最小/最大

nlargest/nsmallest

groupbyに対する上記メソッドは SeriesGroupBy にのみ定義され、DataFrameGroupBy には定義されていない。しかし、下記のように書くと何故か動いてしまう。

df.groupby(by or level = ***)[‘column name’].nlargest()

しかし、動くとはいえ、返ってくる Series はindexが重複したものになってしまう。正しく動かすには

df[‘column name’].groupby(by or level=***).nlargest()

とする。groupbyの前に Series化しておくのがポイント