我有下面的数据帧。
column_1
2.1
-3.4
-1.1
2.5
当值小于0时,或者换句话说,如果值为负值,我希望将此列转换为正数列。输入为十进制格式,输出也应为十进制格式。
我尝试转换为字符串,并在lt(0(时使用abs(column_1(,然后将其强制转换为十进制。但是所有的值都被转换为null。
任何关于如何在Java spark中实现这一点的想法。
所需输出:
column_1
2.1
3.4
1.1
2.5
您可以简单地使用abs
,它在Pyspark中通过函数包[Docs]提供,也可以通过SQL API[Docs]使用。
Pyspark
from pyspark.sql import functions as F
df = df.withColumn('column_1', F.abs('column_1')
Spark SQL
SELECT abs(column_1)
FROM df;