Python 如何在pyspark中设置数字列的格式?

Python 如何在pyspark中设置数字列的格式?,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,我想将列的编号设置为逗号分隔(货币格式) 例如,我有一个专栏 输出应该是 我尝试过使用“{:,.2f}.format(col(“value”)),但我无法通过创建udf来应用此函数 注意:该列中还存在空值。有一个format\u number函数,该函数使货币格式的四舍五入数字上升到第二个参数 import pyspark.sql.functions as F df.withColumn('format_num', F.format_number('num', 0)) \ .show(

我想将列的编号设置为逗号分隔(货币格式)

例如,我有一个专栏

输出应该是

我尝试过使用
“{:,.2f}.format(col(“value”))
,但我无法通过创建udf来应用此函数


注意:该列中还存在空值。

有一个
format\u 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      |
+---+--------+----------+

有一个
format\u 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      |
+---+--------+----------+