在R中读取羽毛对象很慢

时间:2017-08-11 18:04:16

标签: python r feather

我使用feather包进行Python(收集数据)和R(用于分析)之间的数据交换,在Python中编写和读取数据非常快。但是,在R中读取相同的羽毛对象非常慢,大约10MB的羽毛对象具有大约80K行和24列的分钟。每次我在本地读取羽毛对象,这不是由于网络延迟。

我认为唯一可能的是,Python中的一些变量(确切地说是5个)是int64类型,当R导入它们时会被强制转换为double类型。这会导致R在读取羽毛对象期间发出coercing int64 to double警告。任何人都可以证实这一点还是有其他解释?

编辑:Coercing不是问题,我在int64重新保存了Python中的int32列,而R中的读数仍然很慢。需要帮助。

编辑2:示例代码根据要求,这是我正在运行的代码。只是从子文件夹中读取羽毛对象:

library(feather)
test_feather = read_feather("C:/my_folder/subfolder/test.feather")

1 个答案:

答案 0 :(得分:1)

问题是由于在Linux环境中创建了feather对象,而在R系统中正在读取R中的同一对象。我不完全了解细节,但基本上每个操作系统在磁盘上表示二进制数据时都有不同的规范。

我不记得在文档中阅读此问题/警告(虽然我认为这是明显的和隐含的),但也许一点提醒可能会使一些未来的人不会犯同样的错误。