ホームページ  >  記事  >  バックエンド開発  >  Pandas の列値に基づいて DataFrame を分割するにはどうすればよいですか?

Pandas の列値に基づいて DataFrame を分割するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-19 22:34:29292ブラウズ

How to Divide a DataFrame Based on Column Values in Pandas?

Pandas: 列の値に基づいて DataFrame を分割する

Pandas DataFrame を操作する場合、次の値に基づいてデータをサブセットに分割する必要があります。特定の列の値。一般的なシナリオの 1 つは、しきい値に基づいてデータフレームを分割することです。これを実現する方法は次のとおりです。

ブール マスクの作成

最も簡単な方法では、比較演算子を使用してブール マスクを作成します。マスクを DataFrame に適用すると、マスクで設定された条件を満たすデータを含む 2 つの DataFrame を作成できます。

たとえば、売上値が以下の値と大きい値を含む 'Sales' という名前の列で DataFrame を分割するには、または指定されたしきい値と等しい 's':

<code class="python">import pandas as pd

df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]})
print(df)

s = 30

# Boolean mask for rows where Sales >= s
sales_ge_mask = df['Sales'] >= s

# DataFrame with Sales >= s
df1 = df[sales_ge_mask]
print(df1)

# Boolean mask for rows where Sales < s
sales_lt_mask = df['Sales'] < s

# DataFrame with Sales < s
df2 = df[sales_lt_mask]
print(df2)

「~」演算子を使用してマスクを反転し、条件の否定に基づいて DataFrame を分割できます。

<code class="python"># Boolean mask for rows where Sales < s
sales_lt_mask = df['Sales'] < s

# DataFrame with Sales >= s
df1 = df[~sales_lt_mask]
print(df1)

# DataFrame with Sales < s
df2 = df[sales_lt_mask]
print(df2)</code>

このメソッドは、調整された条件に基づいて DataFrame のサブセットを効率的に作成します。

以上がPandas の列値に基づいて DataFrame を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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