gpt4 book ai didi

python - 将 .rda 转换为 Pandas 数据框

转载 作者:太空狗 更新时间:2023-10-30 00:58:52 26 4
gpt4 key购买 nike

我有一些 .rda 文件需要用 Python 访问。我的代码如下所示:

import rpy2.robjects as robjects
from rpy2.robjects import r, pandas2ri

pandas2ri.activate()
df = robjects.r.load("datafile.rda")
df2 = pandas2ri.ri2py_dataframe(df)

df2 是 Pandas 数据框。但是,它只包含 .rda 文件的 header !我来回搜索过。所提出的解决方案似乎都不起作用。

有没有人知道如何有效地将 .rda 数据帧转换为 pandas 数据帧?

最佳答案

感谢您提出有用的问题。我尝试了上面提出的两种方法来处理我的问题。对于 feather,我遇到了这个问题:

pyarrow.lib.ArrowInvalid: Not a Feather V1 or Arrow IPC file

对于 rpy2,如@Orange 所述:“pandas2ri.ri2py_dataframe 在 rpy2 版本 3.0.3 中似乎不再存在”或更高版本。

我搜索了另一种解决方法,发现 pyreadr 对我有用,也许对那些面临与我相同问题的人有用:https://github.com/ofajardo/pyreadr

用法:https://gist.github.com/LeiG/8094753a6cc7907c716f#gistcomment-2795790

pip install pyreadr
import pyreadr

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

# done! let's see what we got
# result is a dictionary where keys are the name of objects and the values python
# objects
print(result.keys()) # let's check what objects we got
df1 = result["df1"] # extract the pandas data frame for object df1

关于python - 将 .rda 转换为 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47833692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com