gpt4 book ai didi

python - 在所有 Pandas DataFrame 列和过滤器中搜索字符串

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:53 25 4
gpt4 key购买 nike

认为这很简单,但在寻找一种优雅的方法来同时搜索数据帧中的所有列以查找部分字符串匹配时遇到了一些麻烦。基本上我将如何申请df['col1'].str.contains('^')一次到整个数据帧并过滤到具有包含匹配项的记录的任何行?

最佳答案

Series.str.contains 方法需要正则表达式模式(默认情况下),而不是文字字符串。因此 str.contains("^") 匹配任何字符串的开头。由于每个字符串都有一个开头,因此一切都匹配。请改用 str.contains("\^") 来匹配文字 ^ 字符。

要检查每一列,您可以使用 for col in df 迭代列名称,然后对每一列调用 str.contains:

mask = np.column_stack([df[col].str.contains(r"\^", na=False) for col in df])
df.loc[mask.any(axis=1)]

或者,您可以将 regex=False 传递给 str.contains 以使测试使用 Python in 运算符;但(一般来说)使用正则表达式更快。<​​/p>

关于python - 在所有 Pandas DataFrame 列和过滤器中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52503963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com