Python 通过在多个列中搜索多个记录值来创建记录

Python 通过在多个列中搜索多个记录值来创建记录,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试创建一个新的dataframe,它可以基于多个术语跨多个列提取行。我有一个巨大的excel文件(65k行),我正在将其放入df中,以便我可以取出新的优先级报告 作为一个例子,这就是我用来在一列中搜索多个术语的方法(本例中为columnA)。我希望能够进行相同的搜索(针对多个术语),但要跨越2或3个不同的列,而不仅仅是columnA newdf = (df.loc[df.columnA.str.contains('dbcor|nopgms|swcor|bkupmems', case=Fa

我正在尝试创建一个新的dataframe,它可以基于多个术语跨多个列提取行。我有一个巨大的excel文件(65k行),我正在将其放入df中,以便我可以取出新的优先级报告

作为一个例子,这就是我用来在一列中搜索多个术语的方法(本例中为columnA)。我希望能够进行相同的搜索(针对多个术语),但要跨越2或3个不同的列,而不仅仅是columnA

newdf = (df.loc[df.columnA.str.contains('dbcor|nopgms|swcor|bkupmems', case=False, regex=True, na=False)])
将返回任何值与模式匹配的行。如果需要所有值与之匹配,请将
any
替换为
all

newdf = df.loc[df.apply(lambda row: row.str.contains('dbcor|nopgms|swcor|bkupmems', case=False, regex=True, na=False).any(), axis=1)]