我有一个pandas数据框,我知道所有列的起始值都相同,结束值是100%结束值的90%和80%。我需要在起始值和结束值之间进行插值,并遵循100%值的趋势(这不是线性的)。在旁注:我尝试在开始和结束之间进行线性插值,但这不起作用,它返回相同的精确数据帧,没有填充NaN。
100% 90% 80%
Date
2017-01-01 6.000000 6 6
2017-02-01 6.000000 NaN NaN
2017-03-01 6.000000 NaN NaN
2017-04-01 6.000000 NaN NaN
... ... ...
2027-08-01 24.666667 NaN NaN
2027-09-01 24.666667 NaN NaN
2027-10-01 24.666667 NaN NaN
2027-11-01 24.666667 NaN NaN
2027-12-01 24.666667 22.2 19.7333
解决方案:我的问题是数据类型是对象而不是浮点数。转换为浮点数并将100%设置为索引后,我使用以下内容来实现所需的结果:
df = df.interpolate(method='piecewise_polynomial')