在pandas中搜索多个字符串而无需预定义要使用的字符串数

在pandas中搜索多个字符串而无需预定义要使用的字符串数,第1张

在pandas中搜索多个字符串而无需预定义要使用的字符串数

您可以使用

np.logical_and.reduce

import pandas as pdimport numpy as npdef search(df, *words):  #1    """    Return a sub-Dataframe of those rows whose Name column match all the words.    """    return df[np.logical_and.reduce([df['Name'].str.contains(word) for word in words])]   # 2df = pd.Dataframe({'Name':['Virginia Google Governor',     'Governor Virginia',     'Governor Virginia Google']})print(search(df, 'Governor', 'Virginia', 'Google'))

版画

 Name0  Virginia Google Governor2  Governor Virginia Google

  1. *
    def search(df, *words)
    允许
    search
    接受的位置参数的数量不受限制。它将收集所有参数(在第一个参数之后)并将其放在名为的列表中
    words
  2. np.logical_and.reduce([X,Y,Z])等效于
    X & Y & Z
    。但是,它允许您处理任意长的列表。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5646057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存