Python 线性插值年度至季度数据-误差

Python 线性插值年度至季度数据-误差,python,r,time-series,interpolation,frequency,Python,R,Time Series,Interpolation,Frequency,我有一些国家的年度时间序列数据,我想用R或Python线性插值,使它们成为季度数据。到目前为止关于stackoverflow的讨论并没有回答我的问题 我一直在遵循Jason Brownlee的详细记录程序,即: 在我看来,情况如下: YEAR CH FR US 2005 200 700 500 2006 300 740 530 2007 450 760 600 代码方面,我根据自己的需要改写了博客的示例: def parser(x): return datetime.st

我有一些国家的年度时间序列数据,我想用R或Python线性插值,使它们成为季度数据。到目前为止关于stackoverflow的讨论并没有回答我的问题

我一直在遵循Jason Brownlee的详细记录程序,即:

在我看来,情况如下:

YEAR CH  FR   US
2005 200 700  500
2006 300 740  530
2007 450 760  600
代码方面,我根据自己的需要改写了博客的示例:

def parser(x):
    return datetime.strptime('2005' + x, '%Y')

data = read_csv('data.csv', sep=';', header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser = parser)
我收到一条很长的错误消息:

ValueError:未转换的数据仍然:+x

1) 如果我没有将
+x
添加到解析器定义中,那么所有年份在每次观察中都是相同的。解析器出了什么问题

2) 关于如何同时处理多个时间序列(即CH、FR、US)有何想法? 我不想为了这个准备步骤而把我的数据分开


3) 如果有人对如何在R中实现这一点提出建议,我会非常高兴,所有的过程似乎都很长,并没有得到我真正需要的东西。

下面的基本R解决方案使用
approxfun
创建插值函数,并随年份和季度调用它。插值方法是默认的
method=“linear”


year\u qtr为什么将此标记为
r
?“使用r或Python”不关注单一语言的问题通常是关闭的。
year_qtr <- function(x, years){
  f <- approxfun(years, x)
  n <- length(years)
  qtrs <- unlist(lapply(years[-n], function(y) y + (0:3)/4))
  qtrs <- c(qtrs, years[n])
  list(x = qtrs, y = f(qtrs))
}

year_qtr(df1$CH, df1$YEAR)
#$x
#[1] 2005.00 2005.25 2005.50 2005.75 2006.00 2006.25 2006.50
#[8] 2006.75 2007.00
#
#$y
#[1] 200.0 225.0 250.0 275.0 300.0 337.5 375.0 412.5 450.0
df1 <- read.table(text = "
YEAR CH  FR   US
2005 200 700  500
2006 300 740  530
2007 450 760  600
", header = TRUE)