【发布时间】:2019-09-17 21:40:56
【问题描述】:
我正在尝试在我的 pyspark 数据框中的列中添加前导零
输入:-
身份证 123
预期输出:
000000000123
【问题讨论】:
标签: pyspark
我正在尝试在我的 pyspark 数据框中的列中添加前导零
输入:-
身份证 123
预期输出:
000000000123
【问题讨论】:
标签: pyspark
有lpad功能。 用 pad 将字符串列左填充到宽度 len。
from pyspark.sql.functions import lpad
df.select(lpad(df.ID, 12, '0').alias('s')).collect()
【讨论】:
使用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|
+------+-------------+
【讨论】: