簡體   English   中英

Pandas dataframe:根據正則表達式字符串搜索過濾行

[英]Pandas dataframe: Filter rows based on regex string search

我有一個 Pandas dataframe 有 1.28 億行,我需要找到一種有效的方法來過濾這個 dataframe 中的行。

我需要過濾所有包含“foo”的行。 “foo”可以在任何列中,但本質上,如果任何行有“foo”,則返回該行。

我做了這樣的事情:

final_rows = df[df['col1'].str.contains(string_to_search))] & df[df['col2' ].str.contains(string_to_search))] ..... etc.

但這沒有用。

我是 Pandas 的新手,如果這是一個非常基本的問題,我深表歉意。

你可以通過any apply

m=df[['col1',...]].apply(lambda x : x.str.contains(string_to_search)).any(axis=1)

final_rows=df[m]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM