我在Jupyter笔记本中使用python/pySpark,并试图找出以下问题:
我有一个像
MainDate Date1 Date2 Date3 Date4
2015-10-25 2015-09-25 2015-10-25 2015-11-25 2015-12-25
2012-07-16 2012-04-16 2012-05-16 2012-06-16 2012-07-16
2005-03-14 2005-07-14 2005-08-14 2005-09-14 2005-10-14
我需要将MainDate与每个Date1-Date4进行比较,如果MainDate==Date,那么创建一个新列REAL=Date,如果没有匹配,那么REAL=“None”,所有日期都是日期格式的,而且实际数据框的Date1到Date72,如果有匹配的话,只能有一个匹配项
最终结果:
^{pr2}$提前谢谢
我会使用
coalesce
:在哪里
^{pr2}$如果有匹配项,则返回列名(
lit(c)
),否则返回NULL
。在这应该比}快得多。在
udf
或转换成{您可以将数据帧转换为rdd,通过检查与
MainDate
匹配的列日期,向每行追加一个新字段:相关问题 更多 >
编程相关推荐