Подтвердить что ты не робот

Загрузка файла .rds в Pandas

Я загрузил файл с форматом .rds, как загрузить его с помощью Pandas? Предполагается, что это R файл, но я не смог найти информацию о том, как его загрузить.

4b9b3361

Ответ 1

Вы можете использовать интерфейс rpy2 для Pandas следующим образом:

import rpy2.robjects as robjects
from rpy2.robjects import pandas2ri
pandas2ri.activate()

readRDS = robjects.r['readRDS']
df = readRDS('my_file.rds')
df = pandas2ri.ri2py(df)
# do something with the dataframe

Ответ 2

Если вы предпочитаете не устанавливать R (это требуется для rpy2), существует новый пакет "pyreadr", позволяющий очень легко читать файлы Rds и RData.

Это обертка вокруг библиотеки librdata, поэтому она очень быстрая.

Вы можете легко установить его с помощью pip:

pip install pyreadr

Тогда вы можете прочитать ваш файл RDS:

import pyreadr

result = pyreadr.read_r('/path/to/file.Rds') # also works for RData

# done! 
# result is a dictionary where keys are the name of objects and the values python
# objects. In the case of Rds there is only one object with None as key
df = result[None] # extract the pandas data frame 

Репо здесь: https://github.com/ofajardo/pyreadr

Отказ от ответственности: я разработчик этого пакета.

Ответ 3

Чтобы продолжить ответ @mgalardini, в более новых версиях rpy2 (версия 3.0.4) изменился метод, который преобразует R-фрейм данных в pandas-фрейм данных:

>>> rpy2.__version__
'3.0.4'
>>> import rpy2.robjects as robjects
>>> from rpy2.robjects import pandas2ri
>>> readRDS = robjects.r['readRDS']
>>> df = readRDS('my_file.rds')
>>> df = pandas2ri.rpy2py_dataframe(df)