Development/Python
[Module] rpy2 (R 데이터프레임을 python/pandas 데이터 프레임으로 변환)
Dev. Jkun
2022. 6. 8. 06:48
반응형
드디어 찾았다. 휴우우~~~ 이제 좀 스마아트으~
이전 포스트 [Module - rpy2] 파이썬에서 R 실행하기 에서 R 실행결과 데이터프레임을 파이썬의 pandas 모듈의 데이터프레임형식으로 변환하고자 했을때 pandas 의 데이터프레임 형식을 선언하고 구성하여 출력해 보았다.
차암... 스마트하지 못해 기분이 별로였는데 열심히 documentation 을 뒤져보니 찾을 수 있었다. 보니 rpy2 에는 converter 가 있었다. 그리고 떠어억 하니 rpy2 문서 목차에 명시되어 있었다.
해서 일단 클릭해서 테스트 해보기로 했다.
다음은 테스트해본 파이썬+R 코드이다.
import rpy2.robjects as robjects
import pandas as pd
from rpy2.robjects import pandas2ri
from rpy2.robjects.conversion import localconverter
des2 = robjects.r('''
library(psych)
x <- read.csv(toString("./rpy2.csv"), sep = ",", header = TRUE, encoding = "UTF-8")
describe(x)
''')
print(des2)
이렇게 describe 결과를 출력하기 위한 R 코드의 결과 describe(x...) 를 변환해보자.
# localconverter
with localconverter(pandas2ri.converter):
pd_from_r_df = robjects.conversion.rpy2py(des2)
print(pd_from_r_df) # 데이터프레임 출력
print(pd_from_r_df['vars']) # 열명을 지정하여 출력
print(type(pd_from_r_df)) # 데이터프레임의 형 확인
그럼 결과 출력과가 이전 포스팅과도 똑같이 출력되는걸 보고 좋아서 모르고 입을 어루만졌다. ㅋㅋㅋ
결과에는 R 의 describe 함수 결과를 converting 하여 위 예시와 같이 출력했더니 자알된다. ㅎㅎ
반응형