Bio7导入模块

2024-05-23 13:49:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Bio7数据流。可以从R获取数据帧并在Python脚本中使用。我尝试使用以下代码

import pandas as df
print("here we are")
df=RServeUtil.fromR("iris")
print(df)

但是我在import语句中有一些错误。你知道吗


Tags: 代码import脚本irispandasdfhereas
3条回答

我刚刚测试了一个有趣的解决方法,从Python调用Rserve(而不是默认情况下Rserve支持的Jython)。你知道吗

可以将pyRserve(https://pythonhosted.org/pyRserve/intro.html#documentation)作为Python包安装。你知道吗

在Bio7中,你可以用Rserve动作启动Rserve。但是,您也可以通过再次调用该操作来更改为本机R控制台(也可以在没有可用控制台操作的情况下单独启动Rserve)。你知道吗

请注意,由于Bio7在所有平台上都有特殊的Rserve版本,因此到那时为止,所有的R工作区变量都将保留在原生R控制台中!你知道吗

现在,我可以从R控制台(不是从Bio7管理)启动Rserve:

run.Rserve()

最后,我可以将Python连接到Rserve并计算如下脚本:

import pyRserve 
conn = pyRserve.connect()
conn.eval("print(runif(100))")
#conn.close()
conn.shutdown()

在上面的例子中,我关闭了脚本中的Rserve,这样我就可以通过Bio7工具栏动作再次连接到Rserve。你知道吗

通过这种简单的方法,我可以访问Python中所有当前可用的R工作区数据(例如ImageJ数据等),或者从Python发送数据 到R

在Bio7中使用已安装的PyDev编辑器插件时:https://youtu.be/-kySAN9doXQ

在Python脚本的专用上下文菜单中使用“Run as”操作。你知道吗

如果需要查看Bio7结果,请注意使用PyDev编辑器切换到Bio7控制台时(请参阅控制台操作“显示所选控制台”)!你知道吗

R中的变量可以在Python中赋值,如下示例:

t=conn.eval("runif(100)")
print t

Bio7使用默认的Jython,它不支持一般的Python包,请参见:

https://en.wikipedia.org/wiki/Jython

http://www.jython.org/

Jython运行在Java虚拟Maschine进程中,可以访问bio7javaapi,您可以在Python语法中使用它,但是缺少许多强大Python包的支持。你知道吗

此外,还可以在Bio7中使用本地Python解释器执行Python脚本(控制台也支持访问)

当然,由于Bio7是基于Eclipse的,您可以使用Bio7更新管理器安装更强大的generel Python和Jython编辑器(PyDev),请参见:

https://marketplace.eclipse.org/content/pydev-python-ide-eclipse

Bio7还支持通过服务器桥(P4J:http://py4j.sourceforge.net/)传输到Python,但我认为在您的情况下 您还可以使用direct R Python桥,例如:

https://rpy2.bitbucket.io/

如果你用Python工作。你知道吗

但这取决于你想做什么。也许仅仅使用Jython就能满足你的需要。你知道吗

你可能混合了一些东西:

  • Bio7与Python无关,它是用于生态建模的IDE和用于Java的API。你知道吗
  • 导入熊猫在您的代码中没有任何意义。你知道吗

您收到错误消息,因为您可能尚未安装pandas。你知道吗

顺便说一句,更常见的是导入带有pd名称的熊猫:

import pandas as pd

您代码中的名称df数据帧的通用名称,例如pandas'dataframe-似乎您试图将来自两个不同来源的代码组合在一起,一个用于pandas,另一个用于Bio7。你知道吗

相关问题 更多 >