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]

以上这篇Pandas过滤dataframe中包含特定字符串的数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
pandas取dataframe特定行列的实现方法

pandas DataFrame.shift()函数的具体使用

Pandas实现聚合运算agg()的示例代码

pandas中DataFrame重置索引的几种方法

pandas读取excel时获取读取进度的实现