Pandas GroupBy と最小列値を持つ行の効率的な選択
Pandas DataFrame を使用する場合、特定の列値に基づいて行を選択するのが一般的です。タスク。特定の列の最小値を持つ行を抽出する必要があるシナリオでは、これを実現する簡単で効率的な方法があります。
説明のために、次の DataFrame を考えてみましょう:
df = pd.DataFrame({'A': [1, 1, 1, 2, 2, 2], 'B': [4, 5, 2, 7, 4, 6], 'C': [3, 4, 10, 2, 4, 6]})
A の各値に対して列 B の最小値を持つ行を選択するには、groupby メソッドと idxmin メソッドを利用できます。
minimum_rows = df.loc[df.groupby('A').B.idxmin()]
この操作は DataFrame を列 A でグループ化し、行のインデックスを識別します。各グループの列 B に最小値が入ります。次に、loc メソッドはこれらの行を抽出して minimum_rows DataFrame を作成します。
A B C 2 1 2 10 4 2 4 4
連続した整数を確保するためにインデックスをリセットしたい場合は、reset_index メソッドを使用できます。
minimum_rows.reset_index(drop=True) A B C 0 1 2 10 1 2 4 4
groupby メソッドと idxmin メソッドを活用すると、MultiIndex や複雑な操作を必要とせずに、指定された列の最小値を持つ行を効率的に選択できます。
以上がPandas DataFrame で最小の列値を持つ行を効率的に選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。