Pandas DataFrame でのグループ化された最小操作中に他の列を維持する
groupby 関数を使用して特定の列ごとにデータをグループ化し、集計操作を実行する場合最小値を見つける場合と同様に、DataFrame 内の他の列が誤って削除される可能性があります。
グループ化された列に対して最小操作を実行しながら追加の列を保持するには、次の方法を検討してください。
方法 1 : idxmin()
idxmin() を使用すると、各グループ内の最小値のインデックスが返されます。これを利用すると、必要な行のみを選択できます。
<code class="python">result = df.loc[df.groupby("item")["diff"].idxmin()]</code>
方法 2: 並べ替えて最初の要素を取得する
または、次の基準でデータフレームを並べ替えることもできます。 groupby 操作を実行して各グループの最初の行を抽出する前の最小列:
<code class="python">result = df.sort_values("diff").groupby("item", as_index=False).first()</code>
どちらの方法でも、最小 diff 値に基づいて行をフィルタリングしながら他の列を保持して、目的の出力が生成されます:
item diff otherstuff 0 1 1 2 1 2 -6 2 2 3 0 0
行の内容は同じですが、結果のインデックスは 2 つのメソッド間で異なる場合があることに注意してください。
以上がグループ化された Pandas DataFrame で最小値を見つけるときに他の列を保持する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。