有没有一种简单的方法可以将pickle文件(.pkl)从Pandas数据帧读入R?

一种可能是导出到CSV并让R读取CSV,但这对我来说似乎非常麻烦,因为我的数据帧相当大.有没有更简单的方法?

谢谢

推荐答案

编辑:如果你能安装并使用{nethretite}软件包,那么这个答案可能已经过时了.请参阅下面的其他答案,以获得更简单的方法.

您可以在python中加载pickle,然后通过python包rpy2(或类似软件)将其导出到R.完成后,您的数据将存在于链接到python的R会话中.我想接下来你要做的是使用该会话调用R和saverd到文件或RAM磁盘.然后在RStudio中,您可以将该文件读回.查看R包rJythonrPython,了解从R触发python命令的方法.

或者,您可以编写一个简单的python脚本,用python加载数据(可能使用上面提到的R包之一),并将格式化的数据流写入stdout.然后,对脚本的整个系统调用(包括指定pickle的参数)可以用作R包data.tablefread的参数.或者,如果您想保持标准功能,可以使用system(..., intern=TRUE)read.table的组合.

和往常一样,给这只cat 剥皮有很多方法.基本步骤是:

  1. 用python加载数据
  2. 将数据表示为R(例如,通过rpy2导出对象,或将格式化文本写入标准输出,R准备在另一端接收)
  3. 将R中表示的数据序列化为内部数据表示(例如,通过rpy2或fread导出对象)
  4. (可选)使R会话中的数据可供另一个R会话访问(即,使用rpy2关闭循环的步骤,或者如果您一直在使用fread,那么您已经完成了).

R相关问答推荐

从有序数据中随机抽样

从gtsummary包中使用tBL_strata()和tBL_summary()时删除变量标签

为什么观察不会被无功值变化触发?

如何通过Docker部署我的shiny 应用程序(多个文件)

在for循环中转换rabrame

在组中添加值增加和减少的行

在ggplot2中更改小提琴情节的顺序

如何从像glm这样的模型中提取系数表的相关性?

如何在科学记数法中显示因子

如何在PDF格式的kableExtra表格中显示管道字符?

来自程序包AFEX和amp;的类/函数和NICE_TABLE&冲突

如何创建累加到现有列累计和的新列?

如何移除GGPlot中超出与面相交的任何格网像元

使用ggplot2中的sec_axis()调整次轴

按组跨多列创建伪变量

是否有可能从边界中找到一个点值?

如何使用list_rind在列表中保留已命名但不包含第0行的记录?

将y轴格式更改为R中的百分比

如何使用包含要子集的值的列表或数据框来子集多个列?

向内存不足的数据帧添加唯一行