是否可以在引用列的Dataframe中计算公式?e、 g.如果我有这样的数据(scala示例):
val df = Seq(
( 1, "(a+b)/d", 1, 20, 2, 3, 1 ),
( 2, "(c+b)*(a+e)", 0, 1, 2, 3, 4 ),
( 3, "a*(d+e+c)", 7, 10, 6, 2, 1 )
)
.toDF( "Id", "formula", "a", "b", "c", "d", "e" )
df.show()
预期结果:
我一直无法得到 selectExpr
, expr
, eval()
或者它们的组合。
2条答案
按热度按时间daolsyd01#
您可以在自定义项中使用scala工具箱评估:
fjnneemd2#
一个稍微不同版本的mck的答案,通过替换
formula
列,然后调用eval udf: