Pandas:根據列值劃分DataFrame
使用Pandas DataFrame 時,需要根據列值將資料拆分為子集特定的列值。一個常見的場景是根據閾值拆分 DataFrame。實作方法如下:
建立布林遮罩
最簡單的方法涉及使用比較運算子建立布林遮罩。透過將遮罩套用至 DataFrame,您可以建立兩個 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中文網其他相關文章!