我有一个如下数据框:
31/12/2015 31/12/2025 31/12/2030 31/12/2040 19.98 25.9475 26.808 26.4917 7.804 8.33913 9.15204 11.8737 3.704 3.69264 3.49261 2.76112 8.4077 8.10772 8.83797 10.3268
我想使用插值法将年度数据扩展为季度数据。 但是,我不想使用线性插值,而是使用指数插值。
到目前为止我所做的:
rng = pd.date_range(df.columns,freq = 'Q')
df1 = df.reindex(rng,axis=1).interpolate(method = 'time',axis =1)
df1
在此之后,我将得到一个包含所有季度的扩展表。
31/12/2015 0:00 31/03/2016 0:00 30/06/2016 0:00 30/09/2016 0:00 31/12/2016 0:00 31/03/2017 0:00 30/06/2017 0:00 30/09/2017 0:00 31/12/2017 0:00 31/03/2018 0:00 ... 30/09/2038 0:00 31/12/2038 0:00 31/03/2039 0:00 30/06/2039 0:00 30/09/2039 0:00 31/12/2039 0:00 31/03/2040 0:00 30/06/2040 0:00 30/09/2040 0:00 31/12/2040 0:00 0 19.98 20.128657 20.277313 20.427603 20.577894 20.724917 20.873573 21.023863 21.174153 21.321176 ... 26.562961 26.554995 26.547202 26.539323 26.531357 26.523391 26.515511 26.507632 26.499666 26.4917 1 7.804 7.817331 7.830661 7.844138 7.857616 7.8708 7.88413 7.897607 7.911085 7.924269 ... 11.260526 11.32907 11.396124 11.463924 11.532468 11.601012 11.668812 11.736611 11.805156 11.8737 2 3.704 3.703717 3.703434 3.703148 3.702862 3.702582 3.702299 3.702013 3.701727 3.701447 ... 2.925921
但是插值是线性的而不是指数的。我所说的指数是:
v2 =(v3 / v1)^((t3-t1)/(t2-t1))* v1
有什么办法可以实现?