【Python】進階學習:pandas–isin()用法詳解
🌈 個人主頁:高斯小哥
🔥 高質量專欄:Matplotlib之旅:零基礎精通數據可視化、Python基礎【高質量合集】、PyTorch零基礎入門教程👈 希望得到您的訂閱和支持~
💡 創作高質量博文(平均質量分92+),分享更多關于深度學習、PyTorch、Python領域的優質內容!(希望得到您的關注~)
🌵文章目錄🌵
- 📚 一、pandas庫簡介
- 🔍 二、isin()方法基礎
- 📋 示例1:篩選DataFrame中的特定值
- 📋 示例2:結合多個條件篩選
- 🎯 三、高級用法與技巧
- 📋 示例3:篩選DataFrame中多個列的值
- 📋 示例4:結合set數據結構使用isin()
- 🎉 四、總結
- 🤝 五、期待與你共同進步
📚 一、pandas庫簡介
??pandas是Python中一個非常流行的數據處理庫,它提供了大量的數據結構(如Series和DataFrame)以及數據分析工具,使得數據處理變得既簡單又高效。在pandas中,isin()
是一個非常重要的方法,它允許我們根據一個值列表來篩選數據。
🔍 二、isin()方法基礎
??isin()
方法用于過濾數據框(DataFrame)或序列(Series)中的值,僅保留在給定列表中出現的值。
📋 示例1:篩選DataFrame中的特定值
假設我們有一個DataFrame df
,其中包含學生的信息:
import pandas as pd# 創建一個示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],'Subject': ['Math', 'Science', 'Math', 'History', 'Science'],'Score': [90, 85, 92, 78, 88]
}
df = pd.DataFrame(data)# 篩選Subject列為'Math'或'Science'的學生
selected_students = df[df['Subject'].isin(['Math', 'Science'])]
print(selected_students)
輸出:
Name Subject Score
0 Alice Math 90
1 Bob Science 85
2 Charlie Math 92
4 Eve Science 88
📋 示例2:結合多個條件篩選
isin()
方法可以與其他條件篩選方法結合使用,以創建更復雜的篩選條件。
import pandas as pd# 創建一個示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],'Subject': ['Math', 'Science', 'Math', 'History', 'Science'],'Score': [90, 85, 92, 78, 88]
}
df = pd.DataFrame(data)# 篩選Score大于85且Subject為'Math'或'Science'的學生
combined_filter = df[(df['Score'] > 85) & df['Subject'].isin(['Math', 'Science'])]
print(combined_filter)
輸出:
Name Subject Score
0 Alice Math 90
2 Charlie Math 92
4 Eve Science 88
🎯 三、高級用法與技巧
??isin()
方法不僅限于簡單的值匹配,還可以與其他pandas功能結合使用,以實現更高級的數據篩選。
📋 示例3:篩選DataFrame中多個列的值
我們可以同時檢查多個列中的值是否存在于給定的列表中。
import pandas as pd# 創建一個示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],'Subject': ['Math', 'Science', 'Math', 'History', 'Science'],'Score': [90, 85, 92, 78, 88]
}
df = pd.DataFrame(data)# 篩選Name為'Alice'或'Charlie',且Subject為'Math'或'Science'的學生
multi_column_filter = df[(df['Name'].isin(['Alice', 'Charlie']) & df['Subject'].isin(['Math', 'Science']))]
print(multi_column_filter)
輸出:
Name Subject Score
0 Alice Math 90
2 Charlie Math 92
📋 示例4:結合set數據結構使用isin()
使用set數據結構可以更有效地執行isin()
操作,尤其是當比較值列表非常大時。
import pandas as pd# 創建一個示例DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],'Subject': ['Math', 'Science', 'Math', 'History', 'Science'],'Score': [90, 85, 92, 78, 88]
}
df = pd.DataFrame(data)# 將要匹配的值轉換為set以提高效率
subjects_set = {'Math', 'Science'}# 篩選Subject列為'Math'或'Science'的學生
set_filter = df[df['Subject'].isin(subjects_set)]
print(set_filter)
輸出:
Name Subject Score
0 Alice Math 90
1 Bob Science 85
2 Charlie Math 92
4 Eve Science 88
🎉 四、總結
??isin()
是pandas中一個非常實用的方法,它允許我們根據給定的值列表來篩選數據。通過結合不同的條件和技巧,我們可以實現復雜的數據篩選任務。在使用isin()
方法時,保持代碼清晰、高效和易于維護非常重要。通過遵循最佳實踐,我們可以確保篩選操作能夠快速、準確地返回所需的結果。
🤝 五、期待與你共同進步
??在數據處理的旅程中,我們始終在學習和成長。希望這篇博客能夠幫助你更好地理解和應用pandas中的isin()
方法。如果你有任何疑問或建議,歡迎在評論區留言,我們一起探討和學習。同時,也期待你分享你的經驗和見解,讓我們共同進步!