Dataframe 如何在pyspark中动态删除小数并将零放在数字前面?
我有一个pyspark数据帧,我想删除Dataframe 如何在pyspark中动态删除小数并将零放在数字前面?,dataframe,apache-spark,pyspark,apache-spark-sql,Dataframe,Apache Spark,Pyspark,Apache Spark Sql,我有一个pyspark数据帧,我想删除之后的所有内容,我想删除 此外,我想在数字前面放零,这样每个数字的长度都是4 原样: |270.0 | |749.5 | |460.0 | |90.0 | |670.0 | |656.6666666666666| |1210.0 | 将是: |0270| |0749| |0460| |0
之后的所有内容,我想删除
此外,我想在数字前面放零,这样每个数字的长度都是4
原样:
|270.0 |
|749.5 |
|460.0 |
|90.0 |
|670.0 |
|656.6666666666666|
|1210.0 |
将是:
|0270|
|0749|
|0460|
|0090|
|0670|
|0656|
|1210|
亲切问候,
Wokter您可以使用+功能:
from pyspark.sql import functions as F
df1 = df.withColumn(
"number",
F.expr("lpad(format_number(number, '####'), 4, '0')")
)
df1.show()
#+------+
#|number|
#+------+
#| 0270|
#| 0750|
#| 0460|
#| 0090|
#| 0670|
#| 0657|
#| 1210|
#+------+
或lpad
+regexp\u replace
:
df1 = df.withColumn(
"number",
F.lpad(F.regexp_replace("number", "\\.(.*)", ""), 4, '0')
)