Groupby 操作中に追加の列を維持する
パンダで group-by 操作を実行する場合、特定のデータを集計するときに追加の列を維持することが望ましいことがよくあります。カラム。これにより、追加の結合や操作を必要とせずに効率的なデータ操作が可能になります。
上記の例を考えてみましょう。ここでは、「otherstuff」などの他の列を保持しながら、「diff」列の最小値を持つ行を削除したいと考えています。 。」デフォルトでは、pandas は、min() などの groupby 関数や集計関数を使用するときに追加の列を削除します。
この問題を解決するには、2 つの効果的なアプローチがあります。
方法 1: idxmin を使用する() 行インデックスを識別する
idxmin() は、指定された列の最小値を含む行のインデックスを返します。この機能を利用すると、条件を満たす行のみを選択することができます。次のコードは、このアプローチを示しています。
<code class="python">df.loc[df.groupby("item")["diff"].idxmin()]</code>
方法 2: 最初の要素の並べ替えと選択
もう 1 つの方法では、「diff」列によってデータフレームを並べ替え、各グループの最初の要素を選択します。これにより、他の列を維持しながら、最小の「diff」値を持つ行を確実に取得できます。次のコードは、このメソッドを示しています。
<code class="python">df.sort_values("diff").groupby("item", as_index=False).first()</code>
どちらのアプローチでも、結果は、「otherstuff」列を保持しながら、「diff」が最小値を持つ行のみを含むデータフレームになります。行インデックスは 2 つのメソッド間で異なる場合がありますが、内容は同じです。
以上がPandas で Groupby 操作を実行中に追加の列を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。