爲了幫助說明我想在這裏實現的是一個數據幀稱爲df
字符串:熊貓:高效子集數據幀基於含有特定的值
column1 column2
1 foo faa
2 bar car
3 dog dog
4 cat rat
5 foo foo
6 bar cat
7 bird rat
8 cat dog
9 bird foo
10 bar car
我想子集數據框 - 的條件是行被丟棄如果column2
中的字符串包含多個值中的一個。
這是一個單值很容易,在這種情況下「富」:
df = df[~df['column2'].str.contains("foo")]
但是,讓我們說,我想放棄在這列2字符串包含「貓」或「所有行富」。應用於上面的df
,這將會減少5行。
什麼是最有效,最pythonic的方式來做到這一點?這可以是一個函數的形式,也可以是多個布爾或其他我沒有想到的東西。
isin
不起作用,因爲它需要精確匹配。
N.B:我編輯了這個問題,因爲我第一次犯了一個錯誤。道歉。
下次考慮發佈一個新問題,因爲th原來的問題被@EdChum的答案很好的修復了。 –
我已經從你和@EdChum那裏獲得了一些有價值的經驗教訓。我不會再犯同樣的錯誤。謝謝。 – RDJ