将pandas.TimeSeries转换为R.ts

And*_*hin 5 python r time-series rpy2 pandas

我有一些带有日期索引的pandas TimeSeries:

import pandas as pd
import numpy as np
pandas_ts = pd.TimeSeries(np.random.randn(100),pd.date_range(start='2000-01-01', periods=100))
Run Code Online (Sandbox Code Playgroud)

我需要将它转换为R TS(如太阳黑子数据集),用我的TS调用一些R函数(slt),它只适用于时间序列.但我发现在pandas.rpy和rpy2 API中只有DataFrame支持.还有另一种方法吗?

如果没有这样的,我可以在python TS转换成数据帧,然后将其转换至R DF并将其转换为TS R中,但我在最后一步一些麻烦,因为我在河是新

在转换R的任何想法或帮助?=)

ags*_*udy 1

我不是 pandas 专家,但是您可以将 pandas 时间序列保存到 csv 文件并从 R 中读取。

Python:

## write data 
with open(PATH_CSV_FILE,"w") as file:
   pandas_ts.to_csv(file)
## read data
with open(PATH_CSV_FILE,"r") as file:
   pandas_ts.from_csv(file)
Run Code Online (Sandbox Code Playgroud)

回复:

library(xts)
## to read data 
ts.xts <- read.zoo(PATH_CSV_FILE,index=0)
## to save data 
write.zoo(ts.xts,PATH_CSV_FILE)
Run Code Online (Sandbox Code Playgroud)