如何将前导零添加到pyspark数据框列

时间:2019-09-16 15:04:51

标签: pyspark

我正在尝试在我的pyspark数据框中的列中添加前导零

输入:-

ID 123

预期输出:

000000000123

2 个答案:

答案 0 :(得分:0)

有lpad功能。 用垫将字符串列左移至宽度len。

from pyspark.sql.functions import lpad
df.select(lpad(df.ID, 12, '0').alias('s')).collect()

答案 1 :(得分:0)

使用format_string函数在开头填充零。

from pyspark.sql.functions import col, format_string
df = spark.createDataFrame([('123',),('1234',)],['number',])
df.show()
+------+
|number|
+------+
|   123|
|  1234|
+------+

如果数字为string,请确保将其强制转换为integer

df = df.withColumn('number_padded', format_string("%012d", col('number').cast('int')))
df.show()
+------+-------------+
|number|number_padded|
+------+-------------+
|   123| 000000000123|
|  1234| 000000001234|
+------+-------------+
相关问题