gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 22:15:07 28 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/26640129/

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