根據Pandas 中的列值拆分DataFrame
在資料分析中經常會遇到需要將一個DataFrame 分成多個的情況基於特定列值的資料幀。其中一個這樣的情況是,當我們想要將 DataFrame 分成兩部分時:一個包含值低於某個閾值的行,另一個包含值高於或等於該閾值的行。
在 Pandas 中,我們可以完成此任務使用布林索引進行分割。以下是我們如何透過範例實現這種拆分:
考慮以下DataFrame,其中包含名為「Sales」的欄位:
df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]}) print (df) A Sales 0 3 10 1 4 20 2 7 30 3 6 40 4 1 50
假設我們想要根據以下條件將此DataFrame 拆分為兩個:銷售額為30:
直接比較分割:
最簡單的方法是使用布林索引運算子'>=' 進行直接比較:
<code class="python">s = 30 df1 = df[df['Sales'] >= s] print (df1) A Sales 2 7 30 3 6 40 4 1 50</code>
這將建立一個名為df1 的新DataFrame,其中包含Sales 值大於或等於30 的所有行。
使用反向遮罩拆分:
要建立一個包含Sales 小於30 的行的DataFrame,我們可以使用~:
<code class="python">df2 = df[~mask] print (df2) A Sales 0 3 10 1 4 20</code>
反轉掩碼,這將建立一個名為df2 的新DataFrame,其中包含Sales 值小於30 的所有行30.
以上是如何根據 Pandas 中的特定列值拆分 DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!