rpy2 / pandas: передача кадра данных pandas со столбцом типа списка в R - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть некоторый R-код, который принимает в качестве входных данных data.frame, где один из столбцов содержит list экземпляров в своих ячейках, например ::100100

data.frame(x=c("a", "b", "c"), y=I(list(c(1,2,3),c(4,5,6),c(7,8,9))))

Что выглядит как

  x       y
1 a 1, 2, 3
2 b 4, 5, 6
3 c 7, 8, 9

Я хотел бы создать похожие панды DataFrame в Python и передать его в мой код R, используя инструменты из библиотеки rpy2 (версия 2.9.4). Однако, когда я запускаю следующее:

from rpy2.robjects import pandas2ri
pandas2ri.activate()

df = DataFrame({
    "x" : ["a", "b", "c"] ,
    "y"  : [[1,2,3], [4,5,6], [7,8,9] ]
})

r_df = pandas2ri.py2ri(df)

print(r_df)

Я получаю этот вывод:

  x y.0.1L y.0.2L y.0.3L y.1.4L y.1.5L y.1.6L y.2.7L y.2.8L y.2.9L

0 a      1      2      3      4      5      6      7      8      9

1 b      1      2      3      4      5      6      7      8      9

2 c      1      2      3      4      5      6      7      8      9

Конечно, R-код использовал функцию «Inhibit» I(), чтобы иметь возможность удерживать экземпляры list в data.frame в первую очередь. Есть ли способ выразить подобное намерение через интерфейсы rpy2?

...