我有一个pandas数据帧(df),数据如下
time id locality_id supply_hours
0 2016-08-31 18:30:00+00:00 NaN NaN NaN
1 2016-08-31 19:30:00+00:00 NaN NaN NaN
2 2016-08-31 20:30:00+00:00 NaN NaN NaN
3 2016-08-31 21:30:00+00:00 453604 1 0.095328
4 2016-08-31 22:30:00+00:00 NaN NaN NaN
我需要将其转换为R数据帧。根据文档,我需要的只是
from rpy2.robjects import pandas2ri
pandas2ri.activate()
rdf=rpy2.robjects.DataFrame(df)
但是当我尝试时会出现以下错误
NotImplementedError: Conversion 'py2ri' not defined for
objects of type '<class 'pandas.tslib.Timestamp'>'
以下成功
rdf2=rpy2.robjects.DataFrame(df[['locality_id','supply_hours']])
很明显,在数据框中转换时间列存在一些问题。如何使这个工作?我在rpy2 == 2.8.3和pandas == 0.16.2。
答案 0 :(得分:0)
而不是使用dt[c('a','b','c')]
使用rdf=rpy2.robjects.DataFrame(df)
)
以下是一个对我有用的例子!
rdf= pandas2ri.py2ri(df