在進行大量的資料處理時,有時會需要取得符合特定條件的資料,以利後續的觀察與操作,此時就會使用到資料篩選和過濾的技能,今天將以案例搭配 loc[]
函數和大家分享資料篩選技巧,內容包含:
線上課程資訊
程式碼
import pandas as pd
data = {'title':['Simple, Healthy Fall Recipes','Learn to Program with C++',
'CSS Fundamentals','HTML Workshop','Planning Your Podcast',
'Cake Decorating For Fun '],
'category':['Lifestyle','Development','Development',
'Development','Business','Lifestyle'],
'price':[20,60,50,20,50,40]}
df = pd.DataFrame(data)
loc[篩選條件]
取得所有符合資料,舉例:篩選 category 為 Development 的資料loc[篩選條件,欄位名稱]
取得符合條件的欄位資料,舉例:篩選 category 為 Development 的 title# 設定篩選條件dev
dev = (df['category'] == 'Development')
print(df.loc[dev]) #所有符合篩選條件的資料
print(df.loc[dev,'title']) #僅列出符合篩選條件的title
輸出結果:
當有一個篩選條件以上時,需要用到邏輯運算子「And (&)」和「Or ( | )」。
print(df.loc[(df['category'] == 'Development') & (df['price']<60)]) #同時滿足兩個條件
print(df.loc[(df['category'] == 'Development')|(df['price']<60)]) #二則一滿足即可
輸出結果:
有關 loc[]
函數的操作,在【Day 4|資料結構 - DataFrame 篇】訪問 DataFrame 時有提過,當時主要利用索引值和欄位名稱取得特定資料,此篇則是延伸至篩選條件,操作方法相近。此外,資料篩選其實不只 loc[]
這個方法,在寫文章時發現另一個更簡單的方法 df [篩選條件]
,可以讓我們少打 loc 三個字母,是個更快速的寫法,有興趣的話,大家可以試試!
如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱!我是 Eva,一位正在努力跨進資料科學領域的女子!我們下篇文章見!
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】