1. 程式人生 > >Pandas過濾dataframe中包含特定字串的資料

Pandas過濾dataframe中包含特定字串的資料

假如有一列全是字串的dataframe,希望提取包含特定字元的所有資料,該如何提取呢?

因為之前嘗試使用filter,發現行不通,最終找到這個行得通的方法。

舉例說明:

我希望提取所有包含'Mr.'的人名

1、首先將他們進行字串化,並得到其對應的布林值:

>>> bool = df.str.contains('Mr\.') #不要忘記正則表示式的寫法,'.'在裡面要用'\.'表示
>>> print('bool : \n', bool)

2、通過dataframe的基本操作將其選取出來:

>>> filter_data = df[bool]
>>> print('filter data : \n', filter_data)

總結:這樣就成功將特定資料選取出來了,將程式碼彙總一下就是

>>> bool = df.str.contains('Mr\.')
>>> filter_data = df[bool]

當然也可以連到一起寫,這樣寫是為了方便讀者理解。