1

我正在使用reticulateR 包,并想在 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

有人知道这里的问题可能是什么,以及它是否与操作系统直接或间接相关?

4

0 回答 0