ホームページ > バックエンド開発 > Python チュートリアル > Groupby を使用して列の値に基づいて Pandas DataFrame を複数の DataFrame に分割する方法

Groupby を使用して列の値に基づいて Pandas DataFrame を複数の DataFrame に分割する方法

Patricia Arquette
リリース: 2024-12-27 15:34:10
オリジナル
995 人が閲覧しました

How to Split a Pandas DataFrame into Multiple DataFrames Based on Column Values Using Groupby?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート