我正在使用reticulate
R包,并希望在R中提供一个返回简单pandas
数据帧的python函数。在Windows 10 OS上,将熊猫数据帧转换为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
有人知道这里可能是什么问题,或者它是否与操作系统直接或间接相关?