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

列の一意の値に基づいて Pandas DataFrame を複数の DataFrame に分割する方法

Susan Sarandon
リリース: 2024-12-12 15:29:11
オリジナル
784 人が閲覧しました

How to Split a Pandas DataFrame into Multiple DataFrames Based on a Column's Unique Values?

Groupby を使用した列値に基づいた Pandas DataFrame の分割

この記事では、DataFrame を複数の部分に分割するという課題に対する解決策を示します。特定の列内の固有の値を対象とします。

次の点を考慮してください。 DataFrame:

import pandas as pd

df = pd.DataFrame({
    "N0_YLDF": [6.286333, 6.317000, 6.324889, 6.320667, 6.325556, 6.359000, 6.359000, 6.361111, 6.360778, 6.361111],
    "ZZ": [2, 6, 6, 5, 5, 6, 6, 7, 7, 6],
    "MAT": [11.669069, 11.669069, 11.516454, 11.516454, 11.516454, 11.516454, 11.516454, 11.516454, 11.516454, 11.516454]
})
ログイン後にコピー

目標は、「N0_YLDF」列に複数の列があり、各列が「ZZ」列の一意の値に対応する新しい DataFrame を作成することです。これを実現するには、groupby() 関数を利用します。

grouped_df = df.groupby("ZZ")
ログイン後にコピー

groupby() 関数は、次に従ってグループが分割された DataFrame を表す pandas.core.groupby.groupby.DataFrameGroupBy オブジェクトを作成します。指定された列の値。この場合、4 つのグループがあります:

print(grouped_df.groups)

# Output
{2: [0], 6: [1, 2, 5, 6, 9], 5: [3, 4], 7: [7, 8]}
ログイン後にコピー

各グループの個別の DataFrame を取得するには、リスト内包表記を使用できます:

split_dfs = [grouped_df.get_group(key) for key in grouped_df.groups]
ログイン後にコピー

get_group() メソッドは DataFrame を返します。これには、指定されたグループに属する行が含まれます。

結果の split_dfs リストには、それぞれ異なるデータフレームを表す 4 つの DataFrame が含まれます。 「ZZ」列の値。

たとえば、「ZZ」値が 6 のグループの DataFrame にアクセスするには、次のように使用できます。

split_df_6 = split_dfs[1]
ログイン後にコピー

これにより、次の行を含む DataFrame:

   N0_YLDF   ZZ        MAT
1  6.317000   6  11.669069
2  6.324889   6  11.516454
5  6.359000   6  11.516454
6  6.359000   6  11.516454
9  6.361111   6  11.516454
ログイン後にコピー

groupby() 関数と get_group() メソッドを利用すると、DataFrame を効果的に分割できます。指定された列の値に基づく複数の部分。

以上が列の一意の値に基づいて Pandas DataFrame を複数の DataFrame に分割する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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