使用rPython包将numpy数组导入R

2024-10-01 11:34:15 发布

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

在pycharm中,我有一些可以按预期工作的代码。有一个函数在调用时返回一个numpy数组。在

我想把这个数组放到RStudio的环境中,比如说一个数据帧或者任何一个真正的起点。在

这是我的简单代码

library(RJSONIO)
library(rPython)
locTest <-"/home/cornelis/Downloads/M1302000139_1442697993.722772.raw"
x<-python.call("get_frames",locTest,256,256)

这是输出。RStudio控制台中显示的numpy数组是正确的,但它告诉我它不是JSON可序列化的。我还意识到包rPython的documentation没有赋值python.call我不知道如何将Python函数调用的返回值赋给R中的一个变量(文档有点单薄,但希望我没有找到正确的位置)

^{pr2}$

following is the only related question I could find


Tags: 数据函数代码numpyhome环境library数组
2条回答

最后我需要更改python代码,以便将numpy数组转换为list。在

在和一个同事胡闹了几小时之后,我发现我还需要python.load在python.call在

以下工作

> library(RJSONIO)
> library(rPython)
> python.load("/home/cornelis/PycharmProjects/TestProject/TestScript.py")
> firstFrame_raw<-python.call("get_frames","/home/cornelis/Downloads/M1302000139_1442697993.722772.raw",256,256)
> firstFrame_raw
...
[[2]][[46]]
  [1]   7   8   7   7   7   5   7   6   6   6   5   5   5   5   5   4   6   5   6   5   4   4   4   4
 [25]   3   3   4   4   4   4   4   4   4   3   3   2   2   2   2   2   2   2   1   1   1   1   0   1
 [49]   2   1   1   2   2   2   2   1   3   3   3   4   4   3   4   4   6   1
...

看起来有一个新的R包叫做“网状”,它看起来比rPython更强大。在

https://rstudio.github.io/reticulate/articles/calling_python.html

特别是,文档中说“R矩阵和数组被自动转换成NumPy数组”,函数调用看起来非常简单。在

相关问题 更多 >