如何根据另一列的值创建一列?

时间:2018-11-08 20:42:51

标签: scala apache-spark

我有一个名为code的列,该列包含2个字母值。我想做的是创建另一个名为with_j的列,在该列中,我希望所有以j结尾的代码。但是,我不想这样说实际的代码,而是这样的:*j

看起来像这样:

之前:

code
bx
aj
dj
la

之后

code   with_j
bx
aj     *j
dj     *j
la     

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

使用endsWithwhen/otherwise实际上非常简单。

Seq("bx", "aj", "dj", "la")
    .toDF("code")
    .withColumn("with_j", 
        when('code endsWith "j", "*j").otherwise("")
    )
    .show