gpt4 book ai didi

python - 为什么 Pandas series.str.contains 方法在有前导空格时检测不到匹配项?

转载 作者:行者123 更新时间:2023-12-04 02:32:43 24 4
gpt4 key购买 nike

我想找到所有包含字符串 ' (target)' 的索引值。

例子:

index = pd.Index(['TIC7201-PV (target)', 'TIC7202-PV', 'TIC7203-PV'])
print(index.str.contains(' (target)'))

我得到的:

[False False False]

我的预期:

[ True False False]

比较:

print(index.str.contains('(target)'))
print(index.str.endswith(' (target)'))

产生:

[ True False False]
[ True False False]

最佳答案

原来,regex 参数的默认设置是 True

  • 对于正则表达式,(...) 表示捕获其中的所有内容,因此它试图找到 'target' 而不是 ' (target)'
  • 解决问题的选项是:
    • 设置regex=False
    • \(...\)转义括号

因此,要获得所需的行为,有两种选择:

# 1
index.str.contains(' (target)',regex=False)

# 2
index.str.contains(r' \(target\)')

关于python - 为什么 Pandas series.str.contains 方法在有前导空格时检测不到匹配项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63211473/

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