我很抱歉这个超级简单的问题,但我无法让它发挥作用
我正在清理数据,并且想要添加一个标志,如果名称(分为名字和姓氏两列)错误。我建立了多种模式,但现在我正在处理单独的语句,我可以将所有这些语句合并为一个吗?
pattern = "\?"
match = incremental['First_Name'].str.contains(pattern) | incremental['Last_Name'].str.contains(pattern)
incremental['Name_Flag'] = np.where(match, 'Y', '')
pattern = "tourist"
match = incremental['First_Name'].str.contains(pattern) | incremental['Last_Name'].str.contains(pattern)
incremental['Name_Flag'] = np.where(match, 'Y', '')
这不起作用,因为第二个语句覆盖了第一个语句。
pattern = ("tourist","/?")
match = incremental['First_Name'].str.contains(pattern) | incremental['Last_Name'].str.contains(pattern)
incremental['Name_Flag'] = np.where(match, 'Y', '')
我收到第二个版本的错误(毫不奇怪)
TypeError: first argument must be string or compiled pattern.
如果您正在尝试寻找两种正则表达式模式 - 就像搜索两者一样?
and tourist
在字符串中。你可以使用|
操作员。所以改变pattern
to
pattern = "tourist|\?"
这将检查是否有问号OR如果字符串中包含“tourist”
如果你想检查正则表达式,真是个好地方。我给你做了一个测试。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)