【发布时间】:2018-03-06 18:12:12
【问题描述】:
我有一个像这样的数据框:
ID Notes
2345 Checked by John
2398 Verified by Stacy
3983 Double Checked on 2/23/17 by Marsha
例如,假设只有 3 名员工要检查:John、Stacy 或 Marsha。我想像这样创建一个新专栏:
ID Notes Employee
2345 Checked by John John
2398 Verified by Stacy Stacy
3983 Double Checked on 2/23/17 by Marsha Marsha
这里是正则表达式还是 grep 更好?我应该尝试什么样的功能?谢谢!
编辑:我一直在尝试一堆解决方案,但似乎没有任何效果。我应该放弃并为每个员工创建具有二进制值的列吗?即:
ID Notes John Stacy Marsha
2345 Checked by John 1 0 0
2398 Verified by Stacy 0 1 0
3983 Double Checked on 2/23/17 by Marsha 0 0 1
【问题讨论】:
-
这是一个基本问题。如果您的 Notes 列有员工姓名是任何地方,并且 Notes 列中可以有任何字符串,我的意思是“由 John 进行检查”或“Marsha 在 2/23/17 进行双重检查”等。没有办法除非您为所有可能的组合找到正确的正则表达式,否则请查找员工姓名。现在理论上这可能是无限多的。另外,如果出现新模式,您将如何找到正确的正则表达式?
-
你能用“BY”分割字符串并取返回数组的最后一个索引吗?
标签: python regex apache-spark pyspark apache-spark-sql