我尝试使用Bio7数据流。可以从R获取数据帧并在Python脚本中使用。我尝试使用以下代码
import pandas as df
print("here we are")
df=RServeUtil.fromR("iris")
print(df)但是我在import语句中有一些错误。
发布于 2018-08-24 02:52:25
你可能会混淆一些东西:
您收到错误消息,因为您可能尚未安装pandas。
顺便说一句,更常见的是导入带有pd名称的熊猫:
import pandas as pd你代码中的名称df是一个数据框架的通用名称,例如熊猫的dataframe -看起来你试图组合来自两个不同来源的代码,一个用于熊猫,另一个用于Bio7。
发布于 2018-08-24 17:11:13
Bio7默认使用Jython,Jython不支持一般的Python包,参见:
https://en.wikipedia.org/wiki/Jython
http://www.jython.org/
Jython在Java Virtual Maschine进程中运行,可以访问Python语法中使用的Python,但缺乏许多功能强大的Bio7包的支持。
此外,还可以使用原生Python解释器在Bio7中执行Python脚本(控制台也支持访问)
当然,由于Bio7是基于Eclipse的,因此您可以通过Bio7更新管理器安装更强大的通用Python和Jython编辑器(PyDev),请参阅:
https://marketplace.eclipse.org/content/pydev-python-ide-eclipse
Bio7还支持使用服务器桥(P4J:http://py4j.sourceforge.net/)转换到Python,但我认为在您的情况下也可以使用直接的R桥,例如,使用:
如果你在Python中工作。
然而,这取决于你想要做什么。也许单独使用Jython就能满足您的需要。
发布于 2018-08-25 01:20:44
我刚刚测试了一个有趣的变通方法,从Python (而不是Jython )调用Rserve,Jython默认支持Rserve。
您可以将pyRserve (https://pythonhosted.org/pyRserve/intro.html#documentation)作为Python包安装。
在Bio7中,您可以使用Rserve操作启动Rserve。但是,您也可以通过再次调用该操作来切换到本机R控制台(也可以在没有Rserve的情况下使用可用控制台操作单独启动)。
请注意,在此之前的所有R工作区变量也将保留在原生R控制台中,因为在所有平台上的Bio7中都有特殊的Rserve版本!
现在,我可以使用以下命令从R控制台(不是从Bio7管理)启动Rserve:
run.Rserve()最后,我可以将Python连接到Rserve并计算脚本,如下所示:
import pyRserve
conn = pyRserve.connect()
conn.eval("print(runif(100))")
#conn.close()
conn.shutdown()在上面的示例中,我在脚本中关闭了Rserve,以便可以使用Bio7工具栏操作再次连接到Rserve。
通过这种简单的方式,我可以访问所有当前可用的R工作区数据(例如,ImageJ数据等)。或者将数据从Python发送到R。
在Bio7中使用已安装的PyDev编辑器插件时:https://youtu.be/-kySAN9doXQ
在Python脚本的专用上下文菜单中使用“Run as”操作。
还请注意,如果有必要查看Bio7结果,请使用PyDev编辑器切换到Bio7控制台(请参阅控制台操作“显示选定的控制台”)!
可以在Python中对R中的变量进行赋值,如下所示:
t=conn.eval("runif(100)")
print thttps://stackoverflow.com/questions/51991933
复制相似问题