2013-03-04 8 views
1

저는 python 및 학습 팬다를 처음 사용합니다. pandas 데이터 프레임 "datframe"을 R 스타일 데이터 프레임으로 변환하고 싶습니다. (나중에 rpy2를 사용합니다.)convert_to_r_dataframe 모듈 객체에는 속성이 없습니다.

import pandas.rpy.common as com 
r_dataframe = com.convert_to_r_dataframe(datframe) 

첫 번째 명령은 통과하지만 나는 다음과 같은 오류 얻을 : 내가

 
Traceback (most recent call last): 
    File "", line 1, in 
    r_dataframe = com.convert_to_r_dataframe(datframe) 
AttributeError: 'module' object has no attribute 'convert_to_r_dataframe' " 

을 이런 일이 왜 확실하지 않다 어떻게이를 위해 나는 내 코드에서 두 줄을 다음 한 문제를 해결할 수 있습니다. 이전 코드에서 pd를 가져 오기 팬더가 이 문제 일 수 있습니까? 내가 파이썬 2.7.3, rpy2-2.3.2 및 2.15.3

+0

.3, 당신은 선택적으로 convert_to_r_dataframe에 대한 호출을 많은 (또는 심지어 대부분의) 경우에 불필요하게 만들 수있는 automagic 변환기를 사용할 수 있습니다. 'from rpy2.robjects import pandas2ri; pandas2ri.activate()'만 있으면됩니다 (팬더 데이터 프레임은 R 함수가 호출 될 때마다 암시 적으로 변환됩니다). >>> PD .__ version__ '2.3.2' version__ 닷컴 >>> >>> RPY2 .__ 같은 PD >>> 수입 pandas.rpy.common로 – lgautier

답변

0

을 사용하고

그것은 나를 위해 작동 : rpy2-2.3에서 비록

>>> import rpy2 
>>> import pandas as pd 
>>> import pandas.rpy.common as com 
>>> rpy2.__version__ 
'2.3.1' 
>>> pd.__version__ 
'0.10.0' 
>>> datframe = pd.DataFrame({'a' : [1, 2, 3], 'b' : [3, 4, 5]}) 
>>> r_df = com.convert_to_r_dataframe(datframe) 
>>> r_df 
<DataFrame - Python:0x105b12710/R:0x7fa8131d7918> 
[IntVector, IntVector] 
    a: <class 'rpy2.robjects.vectors.IntVector'> 
    <IntVector - Python:0x105b12ab8/R:0x7fa8131d7838> 
[  1,  2,  3] 
    b: <class 'rpy2.robjects.vectors.IntVector'> 
    <IntVector - Python:0x105b12950/R:0x7fa8131d7800> 
[  3,  4,  5] 

다른 RPY2 버전 ..

+0

>>> 수입 RPY2 >>> 수입 팬더 '0.7.0' – user2133151

+0

내 이전 pd 버전이 문제가 될 수 있습니까? 최신 버전으로 어떻게 업그레이드합니까? – user2133151

+0

시도해 볼만한 가치가있다. pip :'sudo pip install --upgrade pandas' (편집 : 실제로 [doc] (http://pandas.pydata.org/pandas-docs/stable/whatsnew.html)에서 R data.frame으로의 변환이 pandas v0.8.0에 추가되었습니다.) – herrfz

관련 문제