有没有一种简单的方法可以将Pandas Dataframe中的pickle文件(.pkl)读入R?
一种可能性是导出到CSV并让R读取CSV但这对我来说似乎非常麻烦,因为我的数据帧相当大。有更简单的方法吗?
谢谢!
有没有一种简单的方法可以将Pandas Dataframe中的pickle文件(.pkl)读入R?
一种可能性是导出到CSV并让R读取CSV但这对我来说似乎非常麻烦,因为我的数据帧相当大。有更简单的方法吗?
谢谢!
你可以在python中加载pickle,然后通过python包将它导出到R. rpy2
(或类似的)。完成后,您的数据将存在于链接到python的R会话中。我怀疑你接下来要做的就是使用该会话来调用R并将saveRDS调用到文件或RAM磁盘。然后在RStudio中,您可以重新读取该文件。查看R包 rJython
和 rPython
从哪些方法可以从R触发python命令
或者,您可以编写一个简单的python脚本来加载Python中的数据(可能使用上面提到的R包之一)并将格式化的数据流写入stdout。然后整个系统调用脚本(包括指定你的pickle的参数)可以用作参数 fread
在R包中 data.table
。或者,如果您想保持标准功能,可以使用组合 system(..., intern=TRUE)
和 read.table
。
像往常一样,有很多/很多方法可以给这只特别的猫上皮。基本步骤是:
fread
)fread
那你已经完成了)。网纹 正如russellpierce在评论中所建议的那样,非常容易和超级流畅。
install.packages('reticulate')
之后,我从他们的文档中给出的示例创建了这样的Python脚本。
Python文件:
import pandas as pd
def read_pickle_file(file):
pickle_data = pd.read_pickle(file)
return pickle_data
然后我的R文件看起来像:
require("reticulate")
source_python("pickle_reader.py")
pickle_data <- read_pickle_file("C:/tsa/dataset.pickle")
这给了我早先以pickle格式存储的所有R数据。