如何在pyspark中格式化数字列?

zhte4eai  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(403)

我想将列的数字格式化为逗号分隔(货币格式)。
例如,我有一个专栏

输出应该是

我试过使用 '{:,.2f}'.format(col("value")) 但我无法通过创建自定义项来应用此函数。
注意:列中还存在空值。

zpqajqem

zpqajqem1#

这就是 format_number 函数,使货币格式具有向上舍入到第二个参数的数字。

import pyspark.sql.functions as F

df.withColumn('format_num', F.format_number('num', 0)) \
  .show(10, False)

+---+--------+----------+
|id |num     |format_num|
+---+--------+----------+
|1  |123525  |123,525   |
|2  |13245123|13,245,123|
|3  |null    |null      |
+---+--------+----------+

相关问题