rPython + feather

Supongo que a estas alturas todos conoceréis feather y rPython. Hoy los vais a ver trabajar juntos.

Primero solo en R:

library(feather)
path <- "/tmp/my_data.feather"
write_feather(cars, path)
my_cars <- read_feather(path)

Ahora, para pasarle datos a Python:

library(rPython)
python.exec("import feather")
python.exec("a = feather.read_dataframe('/tmp/my_data.feather')")
python.exec("print a")

Y, finalmente, para crear datos grandes en Python y devolvéselos a R:

python.exec("import numpy as np")
python.exec("import pandas as pd")
python.exec("arr = np.random.randn(10000000)")
python.exec("arr[::10] = np.nan")
python.exec("df = pd.DataFrame({'column_{0}'.format(i): arr for i in range(10)})")
python.exec("feather.write_dataframe(df, '/tmp/test.feather')")
 
python.data <- read_feather("/tmp/test.feather")
dim(python.data)
#[1] 10000000       10

Los tiempos, que los mida cada cual.