0
有了一個火花數據框,比如說我有一個double或int類型的列,我想對它應用一個標量操作。如果操作是可交換的(如加)這很好,我可以做到以下幾點:如何在Spark數據框上執行非交換標量到矢量操作?
df.withColumn("RESULT", df("col") + 10)
但是如果操作是不可交換的(如部門)?
這會工作
df.withColumn("RESULT", df("col")/10)
但這不起作用(錯誤類型不匹配)
df.withColumn("RESULT", 10/df("col"))
提供了原始的SQL語句會的工作,但你必須處理維護選擇的前面幾列:
df.select("10/col")
您也可以將標量值注入df,但t如果你不得不放棄它。
有沒有更簡單的方法來做到這一點?
完美,謝謝。 – joecoder
selectExpr(「*」)的問題是我想要替換列,而不是重複它,lit是我正在尋找的東西。 – joecoder