如何在Spark Dataframe中的列之间进行一些计算?
例如,我想加上la和lon列,并将结果输出到另一列。如何在Spark Dataframe中的列之间进行一些计算?
+------+------------------+------------------+
|userid| la | lon|
+------+------------------+------------------+
| u3| 2.0| 2.0|
| u4| 1.0| 1.0|
| u5| 2.0| 2.0|
| u1|1.6666666666666667|2.6666666666666665|
| u6| 1.0| 3.5|
| u2| 3.0| 4.0|
+------+------------------+------------------+
如果你只是需要总结两列在一起,这是非常简单的:
df.withColumn("x", $"la" + $"lon")
x是新列的名称。
要提升到列2的幂:
df.withColumn("x", pow($"la" + $"lon", 2))
当我做df.withColumn(“x”,pow($“la”+ $“lon”))时,为什么会出错?错误:(407,30)无法找到参数impl的隐式值:breeze.numerics.pow.Impl [org.apache.spark.sql.Column,VR] result.withColumn(“x”,pow($“la1 “ - $”la2“))。show() ^ –
你在靠什么力量提升? – eliasah
我只想输出($“la”+ $“lon”)^ 2,怎么做? –
你能给你想,你尝试过什么迄今为止计算的一个具体的例子吗? –