我有一个列,其中包含值 val a = List(123,656,453,7889,64396)
. 我想像这样使用lpad lpad(col("a"), a.length, "0")
. 基本上,我不确定列表中数字的长度,所以我必须检查每个数字的长度,然后用操作系统lpad它。
基本上我有这个输入Dataframe: (00123,000656,000453,007889,064396)
. 以及申请
val getRandom = udf((seed: String) => new Random(seed).shuffle(seed.toCharArray.iterator).mkString("")
在Dataframe上。但是我的随机输出去掉了0。我想把它放进去。
| inpCol | newCol |
------------------------
| 154200231 | 123 |
| 2343000566 | 656 |
| 6543000453 | 345 |
2条答案
按热度按时间gkl3eglg1#
根据您对@yann帖子的评论,您希望每个数字都按数字添加:
你可以试试这个。
输出:
这个函数的作用是:它将取列“a”的长度并将其加倍—然后应用lpadding。因此,与列中每个值的长度相同数量的零将添加到每个列值中。
kupeojn62#
我建议你先找出你的数字串的最大长度
a
具有然后用这个填充所有的。