有没有方法将pandas数据框存储为R格式?
R有自己的一种数据格式,这种格式比csv要强大得多,比如它可以处理分类数据(也就是我们常说的“因子”)。这种格式的文件通常以.Rdata结尾,我们可以通过R中的load
和save
函数来操作这些文件。
我在想,Python的pandas库是否支持这种格式?如果不支持,那有没有其他比csv更好的格式,可以在pandas和R之间交换数据呢?
1 个回答
3
我之前一直认为,要想把R对象转换回来,就必须有一个R的环境。也就是说,加载一个保存的R对象或者一组对象,就像是在读取一个(可能是压缩过的)二进制数据流,然后把它解码。
但是Davor让我改变了这个看法。他在他的CPAN模块Statistics-R-IO中展示了一个例子,这个模块是用Perl写的。可以推测,如果有人有足够的动力,完全可以把这个功能抽象成一个C语言的库,这样其他很多项目,包括Python,都可以使用这个库。或者用它来保存Pandas的数据,以便在R中使用。
有一个更好的数据交换方式会很不错。否则,你当然可以使用一些不依赖于特定语言的交换格式,比如协议缓冲区(Protocol Buffers)。
(注意:CPAN.org现在似乎很慢或者无法访问。如果需要,可以使用Google缓存。)