列の値に基づいて Pandas DataFrame を分割する
Pandas でよく発生するシナリオは、次の値に基づいて DataFrame を複数のサブセットに分割する必要があることです。特定の列に存在する値。これにより、対象を絞ったデータ分析と操作が可能になります。
これを実現するには、Pandas のブール インデックス機能を活用できます。 「Sales」という名前の列を持つ DataFrame を考えて、「Sales」の値がしきい値「s」を下回っているか上回っているかに基づいて、それを 2 つに分割する方法を検討してみましょう。
解決策:
<code class="python"># Create a DataFrame with a "Sales" column df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]}) print (df)</code>
A Sales 0 3 10 1 4 20 2 7 30 3 6 40 4 1 50
<code class="python"># Split the DataFrame based on "Sales" values s = 30 df1 = df[df['Sales'] >= s] print (df1)</code>
A Sales 2 7 30 3 6 40 4 1 50
これにより、「Sales」値が 's' 以上である行を含む新しいデータフレーム df1 が作成されます。
<code class="python">df2 = df[df['Sales'] < s] print (df2)
A Sales 0 3 10 1 4 20
df2 は、「Sales」値が 's' より小さい行で構成されます。
ビットごとの否定を使用した代替アプローチ:
以上演算子を使用する代わりに、ビット単位の否定 (~) を使用してマスクを反転することもできます。
<code class="python">mask = df['Sales'] >= s df1 = df[mask] df2 = df[~mask] print (df1)</code>
A Sales 2 7 30 3 6 40 4 1 50
<code class="python">print (df2)</code>
A Sales 0 3 10 1 4 20
このアプローチでは、同じ分割ですが、より簡潔で最適化されたコーディング スタイルが可能になります。
以上が列の値に基づいて Pandas DataFrame をサブセットに分割する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。