【发布时间】:2017-05-18 12:27:58
【问题描述】:
我有一个数据框df 创建如下,
schema = StructType([StructField('Id', StringType(), False),
StructField('Value', FloatType(), False)])
df = spark.createDataFrame([('a',5.0),('b',1.0),('c',-0.3)],schema)
看起来像
+---+-----+
| Id|Value|
+---+-----+
| a| 5.0|
| b| 1.0|
| c| -0.3|
+---+-----+
现在我想取Value 的绝对值,它应该返回
+---+-----+
| Id|Value|
+---+-----+
| a| 5.0|
| b| 1.0|
| c| 0.3|
+---+-----+
我试过了
df = df.withColumn('Value',math.fabs(df.Value))
但它抱怨TypeError: a float is required. 但是值列是用FloatType() 指定的。
关于如何正确执行此操作的任何线索?谢谢!
【问题讨论】:
标签: python apache-spark pyspark apache-spark-sql