首頁 >後端開發 >Python教學 >如何根據 Pandas 中的特定列值拆分 DataFrame?

如何根據 Pandas 中的特定列值拆分 DataFrame?

DDD
DDD原創
2024-10-19 22:35:02279瀏覽

How to Split a DataFrame Based on a Specific Column Value in Pandas?

根據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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn