string - 使用 str.contains() 在加号 (+) 之后找不到字符串
问题描述
我正在编写一个代码来处理一个数据框,其中一个列具有“102334+2N”或“102334+2G”或“102334+3”等字符串。使用 str.contains() 时,在加号 (+) 之后什么都找不到。
这工作得很好:
df.loc[df['SKU'].str.contains(r"102334", case=False), ["SKU", "DESCRIPTION"]]
这将使用“102334”加上任何附加字符串定位所有
df.loc[df['SKU'].str.contains(r"102334+", case=False), ["SKU", "DESCRIPTION"]]
这找不到任何东西:
df.loc[df['SKU'].str.contains(r"102334+2", case=False), ["SKU", "DESCRIPTION"]]
我将不胜感激任何有助于我理解如何解决它的答案。
结果正确:df.loc[df['SKU'].str.contains(r"102334", case=False), ["SKU", "DESCRIPTION"]]
结果不正确(最后一行不是预期的):
df.loc[df['SKU'].str.contains(r"102334+", case=False), ["SKU", "DESCRIPTION"]]
并且最后的结果没有显示任何项目(预期 1 到 3):
df.loc[df['SKU'].str.contains(r"102334+2", case=False), ["SKU", "DESCRIPTION"]]
解决方案
使用 Regex 参数可以解决问题。正确表达式:df.loc[df['SKU'].str.contains(r"102334+2", case=False, regex=False), ["SKU", "DESCRIPTION", "VERSÃO","BU" , "CPV_M", "CF_M"]]
谢谢,wpercy 的提示。
推荐阅读
- python - 在 Django 中为自定义模型创建登录
- python - 如何将行从文件传递到输入()?
- vue.js - 从 npm 弃用 Request 模型后如何安装 @vue/cli?
- visual-studio - Visual Studio 和 AWS Glue 作业调试
- c++ - C ++中的空尖括号
- javascript - AJAX总是认为php返回成功,即使失败
- matlab - 在对数刻度上绘制相同(视觉)大小的补丁
- java - 在 NestedScrollView 内的 ViewPager 内的 RecyclerView - 不能正常工作
- csv - 将静态数据从 csv 文件导入 Power Bi
- c# - 如何区分模型和实体?