我正在使用reticulate
R 包,并想在 R 中获取一个 python 函数,它返回一个简单的pandas
数据框。在 Windows 10 操作系统上将 pandas 数据帧转换为 R 数据帧似乎存在问题(与 R 和 python 版本相同的 MasOS 相比)。以下最小示例说明了该问题。
python函数如下图所示:
def func():
import pandas as pd
d = {'A' : pd.Series([1., 2., 3.]),
'B' : pd.Series(['x', 'y', 'z'])}
df = pd.DataFrame(d)
return df
当我在 MacOS 上运行以下 R 代码时,它会返回一个正常的 R 数据帧:
> library('reticulate')
> source_python('func.py')
> df = func()
> df
A B
1 1 x
2 2 y
3 3 z
但是,当我在 Windows 10 操作系统上运行相同的代码时,我得到以下输出:
> df
A B
1 <environment: 0x000000001be35ed0> <environment: 0x000000001bfb33a8>
2 <NA> <NA>
3 <NA> <NA>
Warning message:
In format.data.frame(x, digits = digits, na.encode = FALSE) :
corrupt data frame: columns will be truncated or padded with NAs
有人知道这里的问题可能是什么,以及它是否与操作系统直接或间接相关?