ホームページ  >  記事  >  バックエンド開発  >  PandasでGroupByの後に特定の列の最小値を持つ行を選択する方法は?

PandasでGroupByの後に特定の列の最小値を持つ行を選択する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 03:20:30343ブラウズ

How to Select Rows with Minimum Value in a Specific Column After GroupBy in Pandas?

Pandas GroupBy と特定の列の最小値を持つ行の選択

Pandas DataFrame を使用する場合、多くの場合、データを特定の列ごとにグループ化し、それらに対して操作を実行する必要があります。グループ。一般的な操作の 1 つは、特定の列の最小値を持つ行を選択することです。

この記事では、MultiIndex に頼らずにこのタスクを達成するためのシンプルで効率的なアプローチを検討します。

問題ステートメント:

列 A、B、および C を持つ DataFrame が与えられた場合、私たちの目標は、列 A の各値について列 B の最小値を持つ行を選択することです。

元のデータフレーム:

A B C
1 4 3
1 5 4
1 2 10
2 7 2
2 4 4
2 6 6

目的の出力:

A B C
1 2 10
2 4 4

解決策:

この問題を解決する鍵は、Pandas の idxmin() メソッドにあります。このメソッドは、グループごとに指定された列の最小値を持つ行のインデックスを返します。

groupby() と idxmin() を使用すると、必要な行を直接選択できます。

<code class="python"># Group the DataFrame by column 'A'
grouped = df.groupby('A')

# Get the index of the rows with the minimum value in column 'B' for each group
min_idx = grouped.B.idxmin()

# Use the index to select the desired rows
result = df.loc[min_idx]</code>

出力:

   A  B   C
2  1  2  10
4  2  4   4

このアプローチでは、複雑なデータ構造や中間ステップを必要とせずに、A のグループごとに列 B の最小値を持つ行が効率的に選択されます。

以上がPandasでGroupByの後に特定の列の最小値を持つ行を選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。