2017-07-30 250 views
-2

我有一个Pyspark数据框(原始数据帧),其具有如下数据(所有列数据类型):填充在Pyspark数据帧

id   Value 
    1    103 
    2    1504 
    3    1 

我需要建立一个新的修改数据帧padding in value column,这样该列的长度应该是4个字符。如果长度小于4个字符,则在数据中添加0,如下所示:

id    Value 
    1    0103 
    2    1504 
    3    0001 

有人可以帮我吗?我怎样才能实现它使用Pyspark数据框?任何帮助将不胜感激。

回答

4

可以使用LPAD从功能模块,

from pyspark.sql.functions import lpad 
>>> df.select('id',lpad(df['value'],4,'0').alias('value')).show() 
+---+-----+ 
| id|value| 
+---+-----+ 
| 1| 0103| 
| 2| 1504| 
| 3| 0001| 
+---+-----+