如何从scala调用python函数?

问题描述 投票:3回答:2

假设我有一个带有一些字段的实体X.

我有一个python function,期望实体X的panda dataframes。它进行一些计算,用机器学习算法[sklearn]更新X的一个字段,最后返回X的更新数据帧。

另一方面,我有一个scala codeList of entity X。现在,我还必须以与python对应方式相同的方式计算X字段的值。

现在,在scala中再次模拟类似的机器学习内容将非常困难。我看到的最简单的方法是以某种方式重用/调用那个python函数并获得更新的X列表。

有没有办法实现这个目标?任何关于如何解决这个问题的见解或建议都会非常有帮助。

python pandas scala
2个回答
-1
投票

以下代码将帮助您从scala本身调用python脚本。

import sys.process._
def callPython(){
     val result = "python /fullpath/mypythonprogram.py" ! 
        ProcessLogger(stdout append _, stderr append _)
println(result)
println("stdout: " + stdout)
println("stderr: " + stderr)
}

-1
投票

试试这段代码val result =“python /fullpath/mypythonprogram.py”!! ProcessLogger(stdout追加_,stderr追加_)

因为“!”将只返回0或1(0代表函数执行没有错误,1代表函数通过错误)

希望对你有效。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.