首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将python中的RDa文件作为pandas数据帧读取

将python中的RDa文件作为pandas数据帧读取
EN

Stack Overflow用户
提问于 2016-10-21 00:49:38
回答 1查看 7.9K关注 0票数 3

我有一个在R中创建的RDa文件,我想在python上将这个文件作为pandas数据帧读取。我有下面的代码来做同样的事情:

代码语言:javascript
运行
复制
import rpy2.robjects as robjects
import numpy as np
from rpy2.robjects import pandas2ri
pandas2ri.activate()

# load your file
robjects.r['load']('Data.RDa')

matrix = robjects.r['data']

matrix

我得到了以下结果:

代码语言:javascript
运行
复制
R object with classes: ('data.frame',) mapped to:
<DataFrame - Python:0x0CF46F58 / R:0x0ED0F200>
[Float..., Float..., Float..., ..., Float..., Float..., Float...]
  area: <class 'rpy2.robjects.vectors.FloatVector'>
  R object with classes: ('numeric',) mapped to:
<FloatVector - Python:0x0CF56A80 / R:0x0F281898>
[NA_real_, NA_real_, NA_real_, ..., NA_real_, NA_real_, NA_real_]
  i: <class 'rpy2.robjects.vectors.FloatVector'>
  R object with classes: ('numeric',) mapped to:
<FloatVector - Python:0x0CF68E68 / R:0x0F2B9520>
[NA_real_, NA_real_, NA_real_, ..., NA_real_, NA_real_, NA_real_]
  s: <class 'rpy2.robjects.vectors.FloatVector'>
  R object with classes: ('numeric',) mapped to:
<FloatVector - Python:0x0CF68940 / R:0x0F380008>
[NA_real_, NA_real_, NA_real_, ..., NA_real_, NA_real_, NA_real_]
  ...
  upslope_area: <class 'rpy2.robjects.vectors.FloatVector'>
  R object with classes: ('numeric',) mapped to:
<FloatVector - Python:0x0D03FDA0 / R:0x0FE87C90>
[NA_real_, NA_real_, NA_real_, ..., 292.256494, NA_real_, NA_real_]
  i: <class 'rpy2.robjects.vectors.FloatVector'>
  R object with classes: ('numeric',) mapped to:
<FloatVector - Python:0x0D03FC88 / R:0x0FEBF918>
[331347.500000, 331352.500000, 331357.500000, ..., 332187.500000, 332192.500000, 332197.500000]
  s: <class 'rpy2.robjects.vectors.FloatVector'>
  R object with classes: ('numeric',) mapped to:
<FloatVector - Python:0x0D03FE68 / R:0x0FEF75A0>
[4554812.500000, 4554812.500000, 4554812.500000, ..., 4553982.500000, 4553982.500000, 4553982.500000]

如何将其转换为pandas数据帧?

EN

回答 1

Stack Overflow用户

发布于 2016-10-21 02:21:47

当从搜索路径中检索第一个带有'data‘符号的R对象时(简而言之,当执行robjects.r["data"]时),这看起来像是对当前转换的缺失调用。在rpy2跟踪器上打开一个问题(如果还没有),或者在未解决或假设过早解决的情况下在已经打开的问题的注释中发出噪音。

显式调用仅限于代码块的转换规则应该很容易解决问题,并且可以帮助您确保良好的性能。转换机制提供了便利,但通常是以牺牲性能为代价的,因为每次在转换进行的任一方向上都会产生数据帧的副本。

下面是将显示的内容:

代码语言:javascript
运行
复制
from rpy2.robjects import default_converter
from rpy2.robjects import pandas2ri
from rpy2.robjects.conversion import localconverter

# use the default conversion rules to which the pandas conversion
# is added
with localconverter(default_converter + pandas2ri.converter) as cv:
    dataf = robjects.r["data"]

这在文档中:http://rpy2.readthedocs.io/en/version_2.8.x/robjects_convert.html#local-conversion-rules

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40160149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档