datetime64[ns] pandas 系列的 rpy2 错误 [英] rpy2 error with datetime64[ns] pandas series

查看:75
本文介绍了datetime64[ns] pandas 系列的 rpy2 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将 datetime64[ns] 数据从 rpy2 传递给 R?以下简单案例:

How can one pass datetime64[ns] data to R from rpy2? The following simple case:

import pandas as pd
import rpy2.robjects as robjs
from rpy2.robjects import pandas2ri

pandas2ri.activate()

dti = pd.date_range('2018-01-01', periods=3, freq='H')
robjs.r.summary(dti)

因 ValueError 失败:ValueError: Unknown numpy array typedatetime64[ns]". 使用 rpy2 3.3.4 版和 pandas 1.0.5.

fails with a ValueError: ValueError: Unknown numpy array type "datetime64[ns]". with rpy2 version 3.3.4 and pandas 1.0.5.

推荐答案

而不是像你那样将 DatetimeIndex 传递给 R:

Instead of passing DatetimeIndex to Ras you do:

dti = pd.date_range('2018-01-01', periods=3, freq='H')
type(dti)
pandas.core.indexes.datetimes.DatetimeIndex

尝试将您的数据包装到 DataFrame 对象中:

try to wrap your data into DataFrame object:

dti = pd.DataFrame({"DatetimeIndex": pd.date_range('2018-01-01', periods=3, freq='H')})
type(dti)
pandas.core.frame.DataFrame

结果是:

robjs.r.summary(dti)
array(['Min.   :2018-01-01 00:00:00  ', '1st Qu.:2018-01-01 00:30:00  ',
       'Median :2018-01-01 01:00:00  ', 'Mean   :2018-01-01 01:00:00  ',
       '3rd Qu.:2018-01-01 01:30:00  ', 'Max.   :2018-01-01 02:00:00  '],
      dtype='<U29')

这篇关于datetime64[ns] pandas 系列的 rpy2 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆