我处理大量时间序列刻度数据,并尝试使用 rpy2将此数据从 Python 获取到 R。具体来说,我想传输包含毫秒时间戳(关键)和时区信息(最好有)的时间序列。
为了测试传输时间戳,我尝试了:
from pytz import timezone
from datetime import datetime
import rpy2.robjects as robjects
# 1 microsecond into 2015 in US Eastern time
time = datetime(2015,1,1,0,0,0,1, tzinfo = timezone('US/Eastern'))
robjects.r.assign('time', time)
但这给出了:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Python\2.7\lib\site-packages\rpy2\robjects\functions.py", line 170, in __call__
return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
File "C:\Python\2.7\lib\site-packages\rpy2\robjects\functions.py", line 96, in __call__
new_args = [conversion.py2ri(a) for a in args]
File "C:\Python\2.7\lib\site-packages\singledispatch.py", line 210, in wrapper
return dispatch(args[0].__class__)(*args, **kw)
File "C:\Python\2.7\lib\site-packages\rpy2\robjects\conversion.py", line 39, in py2ri
raise NotImplementedError("Conversion 'py2ri' not defined for objects of type '%s'" % str(type(obj)))
NotImplementedError: Conversion 'py2ri' not defined for objects of type '<type 'datetime.datetime'>'
似乎 rpy2 不支持 datetime
对象...那么如何将时间序列传输到 R 中?
最佳答案
R 中有多种日期/时间对象。
例如:
robjects.POSIXct([time])
了解后,您可以快速向 rpy2
添加转换规则
关于python - rpy2 支持毫秒时间戳和带时区的时间戳吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30238356/