gpt4 book ai didi

python - 将高维 R 数据集加载到 Pandas DataFrame

转载 作者:太空狗 更新时间:2023-10-29 22:30:52 25 4
gpt4 key购买 nike

一些 R datasets可以是loaded into a Pandas DataFrame or Panel很容易:

import pandas.rpy.common as com
infert = com.load_data('infert')
print(infert.head())

只要 R 数据集的维度 <= 3,这似乎就可以工作。更高维度的数据集会打印一条错误消息:

In [67]: com.load_data('Titanic')
Cannot handle dim=4

此错误消息源自 rpy/common.py _convert_array 函数。

当然,Pandas 不能直接将 4 维矩阵塞进 DataFrame 或 Panel 中是有道理的,但是是否有一些解决方法可以将 Titanic 之类的数据集加载到 DataFrame 中(也许使用分层索引)?

最佳答案

使用@joran 非常有用的建议,在安装了 reshape 包之后

% sudo R
R> install.packages('reshape')

我设法将 Titanic 数据集加载到 Pandas DataFrame 中:

import pandas as pd
import pandas.rpy.common as com
import rpy2.robjects as ro

r = ro.r
r('library(reshape)')
df = com.convert_robj(r('melt(Titanic)'))
print(df.head())

打印出来

  Class     Sex    Age Survived  value
1 1st Male Child No 0
2 2nd Male Child No 0
3 3rd Male Child No 35
4 Crew Male Child No 0
5 1st Female Child No 0

关于python - 将高维 R 数据集加载到 Pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19039356/

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