首頁 >後端開發 >Python教學 >如何根據值列表對 Pandas DataFrame 進行子集化?

如何根據值列表對 Pandas DataFrame 進行子集化?

Barbara Streisand
Barbara Streisand原創
2024-12-13 09:42:14560瀏覽

How to Subset a Pandas DataFrame Based on a List of Values?

基於值列表對 Pandas DataFrame 進行子集化

使用相等運算子可以直接根據特定值在 Pandas DataFrame 中選擇行。然而,當處理多個值時,需要更靈活的方法。本文介紹如何使用值列表對資料框進行子集化。

問題:

考慮以下資料框:

df = DataFrame({'A': [5,6,3,4], 'B': [1,2,3,5]})

df

     A   B
0    5   1
1    6   2
2    3   3
3    4   5

我們想要選擇欄位「A」與給定清單中的值相符的行,例如[3, 6]:

list_of_values = [3, 6]

y = df[df['A'] in list_of_values]

解:

dataframe 的 isin方法提供了一種方便的方法來實現此目的:

df[df['A'].isin([3, 6])]

這個返回以下行:

     A    B
1    6    2
2    3    3

對於逆向選擇,排除具有值的行在給定列表中,使用 ~運算符:

df[~df['A'].isin([3, 6])]

這將傳回剩餘的行:

   A  B
0  5  1
3  4  5

使用isin 方法,您可以輕鬆地根據清單選擇或排除行值,為從Pandas 資料幀中提取資料提供更通用的解決方案。

以上是如何根據值列表對 Pandas DataFrame 進行子集化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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