【发布时间】:2018-02-07 03:37:01
【问题描述】:
对于这个超级简单的问题,我很抱歉,但我做不到
我正在清理数据并想添加一个标志,如果名称(分为两列名字和姓氏)是错误的。我建立了多种模式,但现在我使用的是单独的语句,我可以将所有这些语句合并为一个吗?
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.
【问题讨论】:
-
我有点困惑。您可以添加一些示例输入和预期输出吗?您是否希望结合正则表达式模式?想要检查这两种模式?最终目标问题是什么?
标签: python pandas pattern-matching syntax-error