【问题标题】:Use rpy2 with pandas dataframe将 rpy2 与 pandas 数据框一起使用
【发布时间】:2019-03-14 09:12:53
【问题描述】:

我想将一些 R 函数应用到 pandas 数据帧

df = pd.DataFrame( np.random.randn(5,2), # 5 rows, 2 columns
               columns = ["A","B"], # name of columns
               index = ["Max", "Nathy", "Tom", "Joe", "Kathy"] )

如何应用例如 R 中的摘要函数?

我有以下代码:

import numpy as np
import pandas as pd

import rpy2
# print(rpy2.__version__) ## 2.9.4

from rpy2.rinterface import R_VERSION_BUILD
# print(R_VERSION_BUILD) ## ('3', '5.1', '', 74947)

from rpy2.robjects.packages import importr
# import R's "base" package
base = importr('base')

【问题讨论】:

    标签: r python-3.x pandas dataframe rpy2


    【解决方案1】:

    你快到了。为了运行 R 函数,您需要将 pandas Dataframe 转换为 R Dataframe。一旦我们有了 R 对象,我们就可以调用如下所示的函数。

    import rpy2
    from rpy2.robjects.packages import importr # import R's "base" package
    base = importr('base')
    
    from rpy2.robjects import pandas2ri # install any dependency package if you get error like "module not found"
    pandas2ri.activate()
    
    # Create pandas df
    df = pd.DataFrame( np.random.randn(5,2), # 5 rows, 2 columns
                   columns = ["A","B"], # name of columns
                   index = ["Max", "Nathy", "Tom", "Joe", "Kathy"] )
    
    # Convert pandas to r
    r_df = pandas2ri.py2ri(df)
    type(r_df)
    
    #calling function under base package
    print(base.summary(r_df))
    

    【讨论】:

      猜你喜欢
      • 2013-09-03
      • 1970-01-01
      • 2021-01-25
      • 2016-10-06
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 2021-01-01
      • 2016-10-03
      相关资源
      最近更新 更多