盘点一道Pandas处理多个关键词搜索的实战问题

2022-08-17 19:06:19 浏览数 (1)

大家好,我是皮皮。

一、前言

前几天在Python铂金交流群粉丝【dcpeng】问了一道Pandas处理的问题,如下图所示。

原始数据,如下所示:

他自己写了一个代码,如下所示:

代码语言:javascript复制
def search(x):
    a = dfs3.loc[dfs3['项目名称'].str.contains(x)]
    return a
search('界面剂')

后来虽然确实也勉强写出来了,如下图所示:

但是希望有更好的方法!

二、实现过程

这里【月神】给了一份优化代码,如下所示:

代码语言:javascript复制
def search(search_list: list):
    search_str = f"({'|'.join(search_list)})"
    return df[df['项目名称'].str.extractall(search_str).groupby(level=0)[0].nunique() >= len(search_list)]

search(['界面剂', '水泥砂浆', '刮糙'])

【月神】使用Pandas完美地解决了粉丝的问题,简直天秀。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一道Pandas处理数据的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【dcpeng】提问,感谢【月神】给出的思路和代码解析,感谢群友们一起参与学习交流。

0 人点赞