3

我想将 pandas 与 R 结合使用,所以我这样做了:

import pandas as pd
import rpy2.robjects as robjects

>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},index=["one", "two"])
>>> robjects.r.cor(df.A, df.B)
    ValueError: Nothing can be done for the type <class 'pandas.core.series.Series'> at the moment.

这是否意味着我还不能将 pandas 的对象与 rpy2 一起使用?

然后我尝试了:

import pandas.rpy.common as com

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]},index=["one", "two"])
rdf = com.convert_to_r_dataframe(df)

但是我该怎么做rdf呢?例如,rdf['A']给我一个TypeError

4

2 回答 2

3

初步支持无缝使用 pandas 和 R/rpy。

你需要做:

from rpy2.robjects import pandas2ri
pandas2ri.activate()

文档有点落后,支持也不完整,但是有一个小例子可以说明它的发展方向:

https://plus.google.com/116424798545383828852/posts/jPfZ8VcTVi3

于 2013-08-30T22:26:59.167 回答
0

为什么不用熊猫?

import pandas as pd
from scipy import stats

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df.corr('pearson')
=> A  B
A  1  1
B  1  1
stats.f_oneway(df['A'], df['B'])
=> (13.5, 0.021311641128756723)

我知道这并不能准确回答您的问题,但有时遇到此类问题表明您没有按预期使用这些工具。

于 2013-08-30T20:36:40.203 回答