【问题标题】:Convert R Matrix to Pandas Dataframe将 R 矩阵转换为 Pandas 数据框
【发布时间】:2014-07-14 03:05:58
【问题描述】:

我正在尝试将 R 矩阵转换为 pandas 数据框。我正在使用:

import pandas.rpy.common as com
df = com.convert_to_r_dataframe(r_matrix)

我得到:

TypeError: 'float' object cannot be interpreted as an index

奇怪的是,我遇到的所有文档都省略了这个用例。我也愿意将 R 矩阵转换为 numpy array - 因为无论如何我都想遍历行。

【问题讨论】:

    标签: python r matrix pandas rpy2


    【解决方案1】:

    只需使用numpy.array():

    from rpy2 import robjects
    m = robjects.reval("matrix(1:6, nrow=2, ncol=3)")
    import numpy as np
    a = np.array(m)
    

    【讨论】:

      【解决方案2】:

      我认为您对convert_to_r_dataframeconvert_robj 之间的区别感到困惑。使用前一个转换TO R,后一个转换BACK from R:

      In [30]:
      from rpy2 import robjects
      m=robjects.r('matrix(1:6, nrow=2, ncol=3)')
      In [31]:
      
      print com.convert_robj(m)
         0  1  2
      1  1  3  5
      2  2  4  6
      In [32]:
      
      m=robjects.r('as.data.frame(matrix(1:6, nrow=2, ncol=3, dimnames=list(1:2, 1:3)))')
      In [33]:
      
      print com.convert_robj(m)
         1  2  3
      1  1  3  5
      2  2  4  6
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-06
        • 2012-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-07
        • 2015-01-16
        相关资源
        最近更新 更多