Groupby を使用した列値に基づく Pandas データフレームの分割
Python では、次の条件に基づいて Pandas データフレームを複数のデータフレームに分割できます。特定の列の値。この手法は、列内の固有のカテゴリまたはグループごとに個別のデータフレームを作成するためによく使用されます。
たとえば、「ZZ」という名前の列を持つ次のデータフレームを考えてみましょう。
df = N0_YLDF ZZ MAT 0 6.286333 2 11.669069 1 6.317000 6 11.669069 2 6.324889 6 11.516454 3 6.320667 5 11.516454 4 6.325556 5 11.516454 5 6.359000 6 11.516454 6 6.359000 6 11.516454 7 6.361111 7 11.516454 8 6.360778 7 11.516454 9 6.361111 6 11.516454
目標は、このデータフレームを 4 つの新しいデータフレームに分割し、各データフレームに「ZZ」が特定の値 (2、5、6、7) を持つ行を含むようにすることです。これを達成するには、次のようにします。 Pandas の「groupby」関数を利用できます。
gb = df.groupby('ZZ') [gb.get_group(x) for x in gb.groups]
「groupby」関数は、指定された列 (この場合は「ZZ」) の値に基づいてデータフレーム行をグループ化する GroupBy オブジェクトを作成します。 "ZZ" のそれぞれの一意の値は、GroupBy オブジェクト内のグループになります。
後続の行では、リスト内包表記を使用してグループを反復処理し、各グループを個別のデータフレームとして取得します。 "get_group" メソッドは、各グループの名前 (つまり、"ZZ" の一意の値) を使用して呼び出され、対応するデータフレームを抽出します。
結果として、このコードは 4 つの新しいデータフレームを生成し、それぞれが次のサブセットを表します。 「ZZ」列の同じ値を共有する元のデータフレーム行。
以上がGroupby を使用して列の値に基づいて Pandas DataFrame を複数の DataFrame に分割する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。