基於值列表對 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中文網其他相關文章!