D1X*_*D1X 21 python python-3.x pandas
我已经下载了一个格式为.rds的文件,如何用Pandas加载它?它应该是一个R文件,但我无法找到有关如何加载它的任何信息.
mga*_*ini 23
您可以通过以下方式将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
Run Code Online (Sandbox Code Playgroud)
Ott*_*rdo 14
如果您不想安装R(rpy2需要它),则有一个新的软件包“ pyreadr”可以非常轻松地读取Rds和RData文件。
它是C库librdata的包装,因此速度非常快。
您可以使用pip轻松安装它:
pip install pyreadr
Run Code Online (Sandbox Code Playgroud)
然后,您可以读取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
Run Code Online (Sandbox Code Playgroud)
仓库在这里:https : //github.com/ofajardo/pyreadr
免责声明:我是此程序包的开发人员。
小智 14
为了跟进@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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17462 次 |
| 最近记录: |