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

Patricia Arquette
リリース: 2024-10-19 22:28:29
オリジナル
273 人が閲覧しました

How to Divide a Pandas DataFrame by a Column Value?

列の値で Pandas DataFrame を分割する方法

列の値に基づいて Pandas DataFrame を分割すると、個別のサブセットを作成するのに役立ちますデータの。 「Sales」という名前の列を持つ DataFrame があり、それを 2 つの DataFrame に分割するとします。1 つは「Sales」が指定値未満の行を含むもので、もう 1 つは「Sales」が指定値以上の行を含むものです。

これを実現するには、次の手順でブール型インデックスを使用します。

  1. 分割値を定義します。 必要な値を変数に割り当てます。 、 s.
  2. ブール マスクの作成: ブール インデックスを使用して 2 つのマスクを作成します: df['Sales'] < s (s 未満の値の場合) および df['Sales'] >= s (s 以上の値の場合)。
  3. DataFrame を分割します: 適用元の DataFrame にブール マスクを適用して、2 つの新しい DataFrame を作成します:

    • df1 = df[df['Sales'] >= s] (DataFrame with 'Sales' >= s)
    • df2 = df[df['売上'] < s] (DataFrame with 'Sales' < s)

または、~ 演算子を使用して最初のマスクを反転できます。

mask = df['Sales'] >= s
df1 = df[mask]
df2 = df[~mask]<p>次に示します。プロセスを説明する例:</p>
<pre class="brush:php;toolbar:false"><code class="python">df = pd.DataFrame({'Sales': [10, 20, 30, 40, 50], 'A': [3, 4, 7, 6, 1]})
print(df)

s = 30

df1 = df[df['Sales'] >= s]
print(df1)

df2 = df[df['Sales'] < s]
print(df2)</code>
ログイン後にコピー

出力は次のようになります:

   A  Sales
0  3     10
1  4     20
2  7     30
3  6     40
4  1     50

   A  Sales
2  7     30
3  6     40
4  1     50

   A  Sales
0  3     10
1  4     20
ログイン後にコピー

これは、ブール インデックスを使用して、指定された列値に基づいて Pandas DataFrame を 2 つに分割する方法を示しています。

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!