我正在使用R包 PythonInR
,并希望使用函数 pyGet()
将pandas数据帧转换为R数据帧,但我收到以下错误:
as.data.frame.default中的错误(xi,optional = TRUE,stringsAsFactors = stringsAsFactors):无法将类“”PythonObject“”强制转换为data.frame
text.csv文件只包含两列,name(string)和value(int) . 代码如下:
library(PythonInR)
pyConnect()
pyIsConnected()
pyVersion()
pyOptions("usePandas", TRUE)
pyImport("pandas", as="pd")
test_code <-'py_df = pd.read_csv("test.csv")'
pyExec(code = test_code)
r_df <- pyGet("py_df")
并且代码的输出是:
library(PythonInR)
pyConnect()
R is already connected to Python!
pyIsConnected()
[1] TRUE
pyVersion()
[1] "3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)]"
pyOptions("usePandas", TRUE)
pyImport("pandas", as="pd")
test_code <- 'py_df = pd.read_csv("test.csv")'
pyExec(code = test_code)
r_df <- pyGet("py_df")
as.data.frame.default(x [[i]],optional = TRUE,stringsAsFactors = stringsAsFactors)中的错误:无法将类“”PythonObject“”强制转换为data.frame
任何人都可以帮助建议如何使用 PythonInR
将Pandas数据帧转换为R data.frame?
2 回答
你可以使用json . pandas数据帧具有
to_json
方法,您可以使用rjson
R包来使用fromJSON
读取json字符串 .您可能还会发现this和this很有趣 . 计划很快提交给CRAN,但我需要做更多的测试 .
很难说它为什么不起作用 .
你有一个可重复的例子,或者你能提供“test.csv”吗?如果您认为这是一个错误,您可以给包裹作者写一封邮件 .
到目前为止,我看到,
_
_
_
_
_
_