如何在R的reticulate中将pandas.core.frame.DataFrame转为R数据框?
解决方法
你的d_first_month$V1里的元素是Python pandas DataFrame对象,不能直接用R原生方法转换,得用reticulate提供的跨语言转换函数:
- 单独转换单个pandas DataFrame为R数据框:
# 方法1:用py_to_r函数 r_df1 <- py_to_r(d_first_month$V1[[1]]) # 方法2:用reticulate兼容的as.data.frame r_df1 <- as.data.frame(d_first_month$V1[[1]])
- 批量转换列表中所有pandas对象并合并(假设各DataFrame结构一致):
# 批量转换所有元素 all_r_dfs <- lapply(d_first_month$V1, py_to_r) # 合并为单个R数据框 combined_r_df <- do.call(rbind, all_r_dfs)
- 验证转换结果:
glimpse(r_df1) class(r_df1)
原理:reticulate会将Python对象封装为R中的特殊类,必须用专门的转换函数完成Python到R的对象映射,原生R方法无法识别pandas对象结构。
内容的提问来源于stack exchange,提问作者Rodrigo H. Ozon
相关产品推荐
相关产品推荐

