我有一个 Python 字典列表如下(来自 sqlite3 行工厂):
obs = [{'ave': 0.027, 'pap': 0.277},
{'ave': 0.29, 'pap': 0.333},
{'ave': 0.25, 'pap': 0.5}]
我想将其转换为 R data.frame 以便与rpy2
(版本 2.3.6)一起使用,使其看起来像这样
ave pap
1 0.027 0.277
2 0.29 0.333
3 0.25 0.5
我能够将单个“行”转换为 data.frame,如下所示:
robjects.DataFrame(obs[0])
ave pap
1 0.027 0.277
使用robjects.DataFrame(obs)
不起作用... ValueError: obj 可以是可迭代类的实例(例如 Python dict、rpy2.rlike.container OrdDict 或 VECSXP 类型的 rpy2.rinterface.SexpVector 的实例
我也尝试将其转换为 OrdDict 使用rpy2.rlike.container.OrdDict(obs)
但得到 ValueError: too many values to unpack
我认为有很多不同的技术可以实现这一点,而 rpy2 和 Python 中的大量数据结构让我感到困惑。