python_pandas挑選符合條件的資料

pandas*isin()*mask

Tsai Kam
Tsai Kam
Nov 5 · 3 min read

有的時候我們想要快速從資料中挑選出特定條件的資料。這時候我們可以使用pandas搭配類似filter的功能來選取。

我們用鐵達尼號的dataset來做示範。

首先我們看一下ticket這個欄位的各項目數量,可發現1601這個票根出現了7次,CA 2144這個票根出現了6次。

輸入: df1.Ticket.value_counts()

假設我們只想要取Ticket =1601, CA 2144, LINE, 110152的資料。可以演單用以下邏輯來取得:

target_list = ['1601', 'CA 2144', 'LINE', '110152'] 
#目標list
mask1 = df1.Ticket.isin(target_list)
#使用isin函數看是否該值符合target_list
df1[mask1]
#mask1出來的值會是True, False的布林值,這邊會自動呈現True的結果。

假設我們不想要取Ticket =1601, CA 2144, LINE, 110152的資料。可以演單用以下邏輯來取得:

target_list = ['1601', 'CA 2144', 'LINE', '110152'] 
#目標list
mask1 = df1.Ticket.isin(target_list)
#使用isin函數看是否該值符合target_list
df1[mask1==False]
#mask1出來的值會是True, False的布林值,這邊我們指定要看False的結果。

Tsai Kam

Written by

Tsai Kam

好奇、愛觀察、喜歡自己動手做,是一個位在事業規劃單位(BU端)的數據分析師。從0程式基礎到能逐步將python應用於工作之中的小魯蛇。

事業規劃單位的數據分析師 (grow with python)

說說5分鐘: 一場練習。想練習如何在5分鐘內,能夠清楚地表達自己的想法。

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade